code: private static Object readParam(DataInput reader) throws IOException {
  		int type = reader.readUnsignedByte();
  		switch (type) {
  		case BYTE_ID:
  			return Byte.valueOf(reader.readByte());
  		case SHORT_ID:
  			return Short.valueOf(reader.readShort());
  		case INTEGER_ID:
  			return Integer.valueOf(reader.readInt());
  		case CHAR_ID:
  			return Character.valueOf(reader.readChar());
  		case LONG_ID:
  			return Long.valueOf(reader.readLong());
  		case FLOAT_ID:
  			return Float.valueOf(reader.readFloat());
  		case DOUBLE_ID:
  			return Double.valueOf(reader.readDouble());
  		case DATE_ID:
  			return new Date(reader.readLong());
  		case STRING_ID:
  			return readString(reader);
  		case NULL_ID:
  			return null;
  		}
  		throw new DeserializerException("Wrong type of a parameter", "one of the B,S,I,C,L,F,D,T,O,N", Character.toString((char)type));
  	}
docs: /*
  Deserialize parameter Object. Restores {@link Number} and {@link Date} instances
  into their original type.