@Override protected void writeObject(ObjectOutput out, Object obj) throws IOException { DefaultDataTypes dataType = getDataTypeManager().getDataType(obj.getClass()); int code = dataType.ordinal(); out.writeByte((byte) code); if (code == DataTypeManagerService.DefaultDataTypes.BOOLEAN.ordinal()) { if (Boolean.TRUE.equals(obj)) { out.write((byte) 1); } else { out.write((byte) 0); } } else if (code <= highestKnownCode && code != DataTypeManagerService.DefaultDataTypes.OBJECT.ordinal()) { dataType = DataTypeManagerService.DefaultDataTypes.valueOf(getTeiidVersion(), code); ColumnSerializer s = getSerializer(dataType.getId(), (byte) 1); s.writeObject(out, obj); } else { super.writeObject(out, obj); } }