@ 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 ) ; } }
Create state from its type .