code: private boolean sendMessage(SIBusMessage sibMessage, boolean lastMsg, Integer priority)
                      throws MessageEncodeFailedException,
                      IncorrectMessageTypeException,
                      MessageCopyFailedException,
                      UnsupportedEncodingException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "sendMessage",
                                             new Object[] { sibMessage, lastMsg, priority });
  
          boolean ok = false;
  
          // If we are at FAP9 or above we can do a 'chunked' send of the message in seperate
          // slices to make life easier on the Java memory manager
          final HandshakeProperties props = getConversation().getHandshakeProperties();
          if (props.getFapLevel() >= JFapChannelConstants.FAP_VERSION_9) {
              ok = sendChunkedMessage(sibMessage, lastMsg, priority);
          } else {
              ok = sendEntireMessage(sibMessage, null, lastMsg, priority);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "sendMessage", ok);
          return ok;
      }
docs: Method to perform a single send of a message to the client.
  
  @param sibMessage The message to send.
  @param lastMsg true if this is the last message in the batch.
  @param priority The priority to sent the message
  
  @return Returns false if a communications error prevented the message
  from being sent.
  
  @throws MessageEncodeFailedException if the message encoded.