@SuppressWarnings("unchecked")
    private <T extends Assignable> Constructor<T> findConstructor(Class<T> extensionImplClass) {
        Constructor<?>[] constructors = SecurityActions.getConstructors(extensionImplClass);
        for (Constructor<?> constructor : constructors) {
            Class<?>[] parameters = constructor.getParameterTypes();
            if (parameters.length != 1) {
                continue;
            }
            Class<?> parameter = parameters[0];
            if (Archive.class.isAssignableFrom(parameter)) {
                return (Constructor<T>) constructor;
            }
        }
        throw new ExtensionLoadingException("No constructor with a single argument of type " + Archive.class.getName()
            + " could be found");
    }
@ SuppressWarnings ( "unchecked" ) private < T extends Assignable > Constructor < T > findConstructor ( Class < T > extensionImplClass ) { Constructor < ? > [ ] constructors = SecurityActions . getConstructors ( extensionImplClass ) ; for ( Constructor < ? > constructor : constructors ) { Class < ? > [ ] parameters = constructor . getParameterTypes ( ) ; if ( parameters . length != 1 ) { continue ; } Class < ? > parameter = parameters [ 0 ] ; if ( Archive . class . isAssignableFrom ( parameter ) ) { return ( Constructor < T > ) constructor ; } } throw new ExtensionLoadingException ( "No constructor with a single argument of type " + Archive . class . getName ( ) + " could be found" ) ; }
Finds a constructor with a one-argument list's element which implements {@link Archive}.

@param <T>
@param extensionImplClass
- Implementation of {@link Assignable} with a one-argument list's element which implements
{@link Archive}.
@return