Asynchronous completion task allowing asynchronous query execution
 through {@link AsyncCompletionQuery}.
 
 This is a final class and all the logic must be defined
 in an implementation of {@link AsyncCompletionQuery} that must
 be passed to constructor of this task.
Construct asynchronous task for the given component.
Constructor for the case when there is no valid component which can happen when creating task for documentation or tooltip computation.
Called by completion infrastructure to cancel the running task.
Called by completion infrastructure in AWT thread to populate the given result set with data.
Called by completion infrastructure in AWT thread once there
 is a change in the component (caret position changes or document
 gets modified).
 
 The results should be fired into the newly provided completion listener.
This method will be run() from the RequestProcessor during performing of the query.