private boolean enqueueHelper(QUERY_TYPE query,META_QUERY metaQuery,QUEUE_CONTEXT context){
  QueryBundle<QUERY_TYPE,META_QUERY,QUEUE_CONTEXT> queryQueueable=new QueryBundle<>(query,metaQuery,context);
  QueueListNode<QueryBundle<QUERY_TYPE,META_QUERY,QUEUE_CONTEXT>> node=new QueueListNode<>(queryQueueable);
synchronized (numLeft) {
    if (addingFilter(queryQueueable)) {
      queryQueue.enqueue(node);
      numLeft.getAndIncrement();
      semaphore.release();
      addedNode(node);
    }
  }
  return true;
}

private boolean enqueueHelper ( QUERY_TYPE query , META_QUERY metaQuery , QUEUE_CONTEXT context ) { QueryBundle < QUERY_TYPE , META_QUERY , QUEUE_CONTEXT > queryQueueable = new QueryBundle < > ( query , metaQuery , context ) ; QueueListNode < QueryBundle < QUERY_TYPE , META_QUERY , QUEUE_CONTEXT > > node = new QueueListNode < > ( queryQueueable ) ; synchronized ( numLeft ) { if ( addingFilter ( queryQueueable ) ) { queryQueue . enqueue ( node ) ; numLeft . getAndIncrement ( ) ; semaphore . release ( ) ; addedNode ( node ) ; } } return true ; }
this is a helper method which enqueues the query .
