private ClassLoader getLowestClassLoader()

in src/main/java/org/apache/commons/logging/impl/LogFactoryImpl.java [893:927]


    private ClassLoader getLowestClassLoader(final ClassLoader c1, final ClassLoader c2) {
        // TODO: use AccessController when dealing with class loaders here

        if (c1 == null) {
            return c2;
        }

        if (c2 == null) {
            return c1;
        }

        ClassLoader current;

        // scan c1's ancestors to find c2
        current = c1;
        while (current != null) {
            if (current == c2) {
                return c1;
            }
            // current = current.getParent();
            current = getParentClassLoader(current);
        }

        // scan c2's ancestors to find c1
        current = c2;
        while (current != null) {
            if (current == c1) {
                return c2;
            }
            // current = current.getParent();
            current = getParentClassLoader(current);
        }

        return null;
    }