code: int sendMessage(SIBusMessage sibMessage)
        throws MessageCopyFailedException,
               IncorrectMessageTypeException,
               MessageEncodeFailedException,
               UnsupportedEncodingException
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "sendMessage", sibMessage);
  
        int msgLen = 0;
  
        // 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)
        {
           msgLen = sendChunkedMessage(sibMessage);
        }
        else
        {
           msgLen = sendEntireMessage(sibMessage, null);
        }
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "sendMessage", msgLen);
        return msgLen;
     }
docs: This method will send a message to the attached client.
  
  @param sibMessage
  
  @return Returns the length of the message sent
  
  @throws MessageEncodeFailedException
  @throws IncorrectMessageTypeException
  @throws MessageCopyFailedException