public static void getByteArray(Dictionary<String, TransferObjectWrapper> wrapperMap, TransferOutputStream touts) {
     foreach (KeyValuePair<String, TransferObjectWrapper> item in wrapperMap) {
         // type
         touts.writeByte(TransferObject.DATATYPE_WRAPPER);
         // key
         String key = item.Key;
         touts.writeString(key);
         // value
         TransferObjectWrapper value = item.Value;
         touts.writeWrapper(value);
     }
 }
        public override byte[] getByteData() {

            int blength = getByteArrayLength();

            byte[] byteArray = new byte[TransferUtil.getLengthOfInt() + blength];

            TransferOutputStream touts = new TransferOutputStream(byteArray);
            touts.writeInt(blength);
            touts.writeString(calleeClass);
            touts.writeString(calleeMethod);
            touts.writeByte(returnType);
            touts.writeBoolean(compress);

            foreach (ValueObject vo in paramList) {
                if (vo.dataType == DATATYPE_BOOLEAN) {
                    touts.writeByte(DATATYPE_BOOLEAN);
                    touts.writeBoolean((bool)vo.dataObject);
                } else if (vo.dataType == DATATYPE_BYTE) {
                    touts.writeByte(DATATYPE_BYTE);
                    touts.writeByte((byte)vo.dataObject);
                } else if (vo.dataType == DATATYPE_SHORT) {
                    touts.writeByte(DATATYPE_SHORT);
                    touts.writeShort((short)vo.dataObject);
                } else if (vo.dataType == DATATYPE_CHAR) {
                    touts.writeByte(DATATYPE_CHAR);
                    touts.writeChar((char)vo.dataObject);
                } else if (vo.dataType == DATATYPE_INT) {
                    touts.writeByte(DATATYPE_INT);
                    touts.writeInt((int)vo.dataObject);
                } else if (vo.dataType == DATATYPE_LONG) {
                    touts.writeByte(DATATYPE_LONG);
                    touts.writeLong((long)vo.dataObject);
                } else if (vo.dataType == DATATYPE_FLOAT) {
                    touts.writeByte(DATATYPE_FLOAT);
                    touts.writeFloat((float)vo.dataObject);
                } else if (vo.dataType == DATATYPE_DOUBLE) {
                    touts.writeByte(DATATYPE_DOUBLE);
                    touts.writeDouble((double)vo.dataObject);
                } else if (vo.dataType == DATATYPE_DATE) {
                    touts.writeByte(DATATYPE_DATE);
                    touts.writeDate((DateTime)vo.dataObject);
                } else if (vo.dataType == DATATYPE_STRING) {
                    touts.writeByte(DATATYPE_STRING);
                    touts.writeString((string)vo.dataObject);

                } else if (vo.dataType == DATATYPE_BYTEARRAY) {
                    touts.writeByte(DATATYPE_BYTEARRAY);
                    touts.writeByteArray((byte[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_INTARRAY) {
                    touts.writeByte(DATATYPE_INTARRAY);
                    touts.writeIntArray((int[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_LONGARRAY) {
                    touts.writeByte(DATATYPE_LONGARRAY);
                    touts.writeLongArray((long[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_FLOATARRAY) {
                    touts.writeByte(DATATYPE_FLOATARRAY);
                    touts.writeFloatArray((float[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_DOUBLEARRAY) {
                    touts.writeByte(DATATYPE_DOUBLEARRAY);
                    touts.writeDoubleArray((double[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_STRINGARRAY) {
                    touts.writeByte(DATATYPE_STRINGARRAY);
                    touts.writeStringArray((string[])vo.dataObject);

                } else if (vo.dataType == DATATYPE_WRAPPER) {
                    touts.writeByte(DATATYPE_WRAPPER);
                    touts.writeWrapper((TransferObjectWrapper)vo.dataObject);
                }

            }

            return byteArray;
        }