public void writeClass(Class<?> clazz) { ObjectSerializationHandler handler = ObjectSerializerRegistry.getHandlerByObjectType(clazz); ObjectTypeMapper mapper = ObjectSerializerRegistry.getMapperByObjectType(clazz); if (handler == null && clazz.isArray()) { // we may have special handlers for certain types of arrays // if handler is null, treat like any other array writeByte(OBJECT_TYPE_ARRAY); writeClass(clazz.getComponentType()); } else if (mapper == null) { throw new ConnectorException("No serializer for class: " + clazz); } else { String typeName = mapper.getHandledSerialType(); writeByte(OBJECT_TYPE_CLASS); writeString(typeName, true); } }