public static void findClasspathOrder(final ClassLoader classLoader, final ClasspathOrder classpathOrder,
            final ScanSpec scanSpec, final LogNode log) {
        final Object classpathManager = ReflectionUtils.invokeMethod(classLoader, "getClasspathManager", false);
        final Object[] entries = (Object[]) ReflectionUtils.getFieldVal(classpathManager, "entries", false);
        if (entries != null) {
            for (final Object entry : entries) {
                final Object bundleFile = ReflectionUtils.invokeMethod(entry, "getBundleFile", false);
                final File baseFile = (File) ReflectionUtils.invokeMethod(bundleFile, "getBaseFile", false);
                if (baseFile != null) {
                    classpathOrder.addClasspathEntry(baseFile.getPath(), classLoader, scanSpec, log);
                }
            }
        }
    }
public static void findClasspathOrder ( final ClassLoader classLoader , final ClasspathOrder classpathOrder , final ScanSpec scanSpec , final LogNode log ) { final Object classpathManager = ReflectionUtils . invokeMethod ( classLoader , "getClasspathManager" , false ) ; final Object [ ] entries = ( Object [ ] ) ReflectionUtils . getFieldVal ( classpathManager , "entries" , false ) ; if ( entries != null ) { for ( final Object entry : entries ) { final Object bundleFile = ReflectionUtils . invokeMethod ( entry , "getBundleFile" , false ) ; final File baseFile = ( File ) ReflectionUtils . invokeMethod ( bundleFile , "getBaseFile" , false ) ; if ( baseFile != null ) { classpathOrder . addClasspathEntry ( baseFile . getPath ( ) , classLoader , scanSpec , log ) ; } } } }
Find the classpath entries for the associated {@link ClassLoader}.

@param classLoader
the {@link ClassLoader} to find the classpath entries order for.
@param classpathOrder
a {@link ClasspathOrder} object to update.
@param scanSpec
the {@link ScanSpec}.
@param log
the log.