cglib/src/main/java/net/sf/cglib/proxy/Enhancer.java
protected void filterConstructors(Class sc, List constructors) {
        CollectionUtils.filter(constructors, new VisibilityPredicate(sc, true));
        if (constructors.size() == 0)
            throw new IllegalArgumentException("No visible constructors in " + sc);
    }
protected void filterConstructors(Class sc, List constructors) {
        CollectionUtils.filter(constructors, new VisibilityPredicate(sc, true));
        if (constructors.size() == 0)
            throw new IllegalArgumentException("No visible constructors in " + sc);
    }
Filter the list of constructors from the superclass. The
constructors which remain will be included in the generated
class. The default implementation is to filter out all private
constructors, but subclasses may extend Enhancer to override this
behavior.
@param sc the superclass
@param constructors the list of all declared constructors from the superclass
@throws IllegalArgumentException if there are no non-private constructors