code: @SuppressWarnings("unchecked")
      private State create(Class<? extends State> state)
      {
          try
          {
              if (configurer.isPresent())
              {
                  final AnimationConfig configAnimations = AnimationConfig.imports(configurer.get());
                  final String name = converter.apply(state);
                  final Animation animation = configAnimations.getAnimation(name);
                  final Class<? extends Feature> feature;
                  feature = (Class<? extends Feature>) UtilReflection.getCompatibleConstructor(state,
                                                                                               FeatureProvider.class,
                                                                                               Animation.class)
                                                                     .getParameters()[PARAM_FEATURE_INDEX].getType();
                  return UtilReflection.create(state,
                                               UtilReflection.getParamTypes(feature, animation),
                                               getFeature(feature),
                                               animation);
              }
              return UtilReflection.createReduce(state);
          }
          catch (final NoSuchMethodException exception)
          {
              throw new LionEngineException(exception);
          }
      }
docs: Create state from its type.
  
  @param state The state to create.
  @return The created state.
  @throws LionEngineException If unable to create state.