@Override
    public <T> Constructor<T> getConstructorForType(ConstructorFilter filter, Class<T> ofType) {
        if (!ofType.equals(target)) {
            throw new IllegalArgumentException("ofType must be target class: " + target);
        }
        return ConstructorUtils.getConstructorForType(ofType, filter);
    }
@ Override public < T > Constructor < T > getConstructorForType ( ConstructorFilter filter , Class < T > ofType ) { if ( ! ofType . equals ( target ) ) { throw new IllegalArgumentException ( "ofType must be target class: " + target ) ; } return ConstructorUtils . getConstructorForType ( ofType , filter ) ; }
Returns the first constructor found that matches the filter parameter.

@param filter Filter to apply.
@param ofType Class to get constructor for, must match target class.

@return the first constructor found that matches the filter parameter.
@throws IllegalArgumentException if ofType does not match the target class.
or no constructor is found matching the filter.