code: byte[] encodeToBytes(EncodingLevel encodingLevel) throws JMSException {
  
          // If we haven't already got the encoding cached, encode & cache it now.
          if (cachedEncoding[encodingLevel.ordinal()] == null) {
              cachedEncoding[encodingLevel.ordinal()] = destEncoder.getMessageRepresentationFromDest(this, encodingLevel);
          }
          return cachedEncoding[encodingLevel.ordinal()];
      }
docs: This method returns the encoding as an array of bytes for the
  purpose of setting it into the method directly as bytes (avoid char
  copying).