code: @SuppressWarnings("rawtypes")
      @Override
      public byte[][] serializeInputStreamData(Map isd) throws IOException, UnsupportedEncodingException, IllegalStateException {
          validateInputStreamData(isd);
  
          String type = (String)isd.get(INPUT_STREAM_CONTENT_TYPE);
          Integer length = (Integer)isd.get(INPUT_STREAM_CONTENT_DATA_LENGTH);
          byte[] data = (byte [])isd.get(INPUT_STREAM_CONTENT_DATA);
          int arraySize = OFFSET_CONTENT_DATA;
          if (data != null) {
              arraySize ++;
          }
  
          byte[][] output = new byte[arraySize][];
          output[OFFSET_CONTENT_DATA_LENGTH] = longToBytes((long)length.intValue());
          if (type != null) {
              output[OFFSET_CONTENT_TYPE_LEN] = intToBytes(type.length());
              output[OFFSET_CONTENT_TYPE_DATA] = type.getBytes("UTF-8"); 
          } else {
              output[OFFSET_CONTENT_TYPE_LEN] = intToBytes(0);
              output[OFFSET_CONTENT_TYPE_DATA] = new byte[1];
          }
          if (data != null) {
              output[OFFSET_CONTENT_DATA] = data;
          }
  
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {
              String message = "total : " + sizeInputStreamData(isd) + " number of items : " + output.length;
              logger.logp(Level.FINE, CLASS_NAME,"serializeInputStreamData", message);
          }
          return output;
      }
docs: Serialize the Map object of InputStreamData.
  The format is as follows:
  byte[0][]    : byte array of long value of INPUT_STREAM_CONTENT_DATA_LENGTH
  byte[1][]    : the length of INPUT_STREAM_CONTENT_TYPE
  byte[2][]    : the byte array of the value of INPUT_STREAM_CONTENT_TYPE if the length is zero, it only contains one byte data of which value is zero.
  byte[3...] : byte array of INPUT_STREAM_CONTENT_DATA (it could be multiple tWAS v9) byte[3] doesn't exist if the length is zero.