@Override
            protected Map<UUID, Map<UUID, StateValueAdapter<Object, Object>>> create() {
              bootstrapOnce.ensure();

              Map<UUID, Map<UUID, StateValueAdapter<Object, Object>>> adaptersBySourceTypeId =
                  new ConcurrentHashMap<>();

              for (Class<?> c : ClassFinder.findConcreteClasses(StateValueAdapter.class)) {
                TypeDefinition<?> d = TypeDefinition.getInstance(c);
                Class<?> source = d.getInferredGenericTypeArgumentClass(StateValueAdapter.class, 0);

                if (source != null) {
                  Class<?> target =
                      d.getInferredGenericTypeArgumentClass(StateValueAdapter.class, 1);

                  if (target != null) {
                    ObjectType sourceType = getTypeByClass(source);

                    if (sourceType != null) {
                      ObjectType targetType = getTypeByClass(target);

                      if (targetType != null) {
                        UUID sourceTypeId = sourceType.getId();
                        UUID targetTypeId = targetType.getId();
                        Map<UUID, StateValueAdapter<Object, Object>> adapters =
                            adaptersBySourceTypeId.get(sourceTypeId);

                        if (adapters == null) {
                          adapters = new ConcurrentHashMap<>();
                          adaptersBySourceTypeId.put(sourceTypeId, adapters);
                        }

                        adapters.put(
                            targetTypeId,
                            (StateValueAdapter<Object, Object>)
                                TypeDefinition.getInstance(c).newInstance());
                      }
                    }
                  }
                }
              }

              return adaptersBySourceTypeId;
            }