code: public boolean isEmpty(short sessionId)
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "isEmpty", ""+sessionId);
        boolean queueEmpty = false;
        synchronized (this)
        {
      	  synchronized(queue)
      	  {
      		  queueEmpty = queue.isEmpty();
      		  if (!queueEmpty)
      		  {
      			  //System.out.println("  isEmpty(): Got has data on");
      			  // The queue is not empty. Make sure there is a complete message available
      			  QueueData data = queue.getLast();
      			  //System.out.println("  isEmpty(): First item: " + data);
      			  // If the data is not complete, the queue is still regarded as empty
      			  queueEmpty = !data.isComplete();
      			  //System.out.println("  ** isEmpty(): " + queueEmpty);
      		  }
            }
        }
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "isEmpty", ""+queueEmpty);
        return queueEmpty;
     }
docs: @return Returns true if and only if the queue is empty. The queue is not empty if there is at least
  one complete message on the queue.
  
  @see Queue#isEmpty(short)