private boolean isJdkPackage(String name) {
        final JvmVersion version = JvmUtils.getVersion();
        if (version.onOrAfter(JvmVersion.JAVA_9)) {
            if (name.startsWith("javax.xml.bind")
                    || name.startsWith("javax.annotation")) {
                return false;
            }
        }

        if (name.startsWith("javax.jms")
                || name.startsWith("javax.ws")) {
            return false;
        }
        return name.startsWith("java.")
                || name.startsWith("jdk.")
                || name.startsWith("javax.")
                || name.startsWith("sun.")
                || name.startsWith("com.sun.")
                || name.startsWith("org.w3c.")
                || name.startsWith("org.xml.")
                || name.startsWith("org.apache.logging.")
                || name.startsWith("org.slf4j");
    }
Finds the specified class using <code>ClassPath</code>.
If the source throws an exception, this returns null.
<p>
<p>This method can be overridden by a subclass of
<code>Loader</code>.  Note that the overridden method must not throw
an exception when it just fails to find a class file.

@return null if the specified class could not be found.
@throws ClassNotFoundException if an exception is thrown while
                               obtaining a class file.
agent-module/profiler-test/src/main/java/com/navercorp/pinpoint/profiler/test/classloader/TransformClassLoader.java