static Class<?> loadClass(String className, Class<?> context, boolean checkParent)
    {
        Class<?> clazz = null;
        try
        {
            clazz = Thread.currentThread().getContextClassLoader().loadClass(className);
        }
        catch (ClassNotFoundException e)
        {
            if (context != null)
            {
                ClassLoader loader = context.getClassLoader();
                while (loader != null)
                {
                    try
                    {
                        clazz = loader.loadClass(className);
                        return clazz;
                    }
                    catch (ClassNotFoundException e1)
                    {
                        loader = checkParent ? loader.getParent() : null;
                    }
                }
            }
        }
        return clazz;
    }
Loads a class from the classloader; If not found, the classloader of the {@code context} class specified will be
used. If the flag {@code checkParent} is true, the classloader's parent is included in the lookup.
protostuff-xml/src/main/java/io/protostuff/XmlIOFactoryUtil.java