public static Object toOpenData(OpenType<?> otype, ClassLoader classLoader, Object value) throws OpenDataException {
Object result;
if (otype instanceof CompositeType && value instanceof JSONObject) {
StringToOpenTypeConverter converter = converters.getToOpenTypeConverter();
result = converter.convertToObject(otype, value);
} else if (otype instanceof TabularType && value instanceof JSONObject) {
StringToOpenTypeConverter converter = converters.getToOpenTypeConverter();
result = converter.convertToObject(otype, value);
} else if (otype instanceof ArrayType && value instanceof JSONArray) {
StringToOpenTypeConverter converter = converters.getToOpenTypeConverter();