code: @Function
      public static byte[] wrapMessage(GSSContext context, MessageProp prop, byte[] message) {
          try {
               // wrap the data and return the encrypted token
              byte[] initialToken = context.wrap(message, 0, message.length, prop);
  
              return getTokenWithLengthPrefix(initialToken);
          } catch (GSSException ex) {
              throw new RuntimeException("Exception wrapping message", ex);
          }
      }
docs: Utility method to call GSSContext.wrap() on a message which will create a byte[]
  that can be sent to a remote peer.
  @param context GSSContext for which a connection has been established to the remote peer
  @param prop the MessageProp object that is used to provide Quality of Protection of the message
  @param message the bytes of the message to be sent to the remote peer
  @return the protected bytes of the message that can be sent to and unpacked by the remote peer