void (BuildController controller) { if (myTargetTypes.isEmpty()) return; try { ProtocolToModelAdapter modelAdapter = ReflectionUtilRt.getField(controller.getClass(), controller, ProtocolToModelAdapter.class, "adapter"); if (modelAdapter == null) return; TargetTypeProvider typeProvider = ReflectionUtilRt.getField(ProtocolToModelAdapter.class, modelAdapter, TargetTypeProvider.class, "targetTypeProvider"); if (typeProvider == null) return; //noinspection unchecked Map<String, Class<?>> targetTypes = ReflectionUtilRt.getField(typeProvider.getClass(), typeProvider, Map.class, "configuredTargetTypes"); if (targetTypes == null) return; for (Class<?> targetType : myTargetTypes) { targetTypes.put(targetType.getCanonicalName(), targetType); } } catch (Exception ignore) { } }