class VfsPatternUtils extends VfsUtils {

    static Object getVisitorAttribute() {
        return doGetVisitorAttribute();
    }

    static String getPath(Object resource) {
        return doGetPath(resource);
    }

    static Object findRoot(URL url) throws IOException {
        return getRoot(url);
    }

    static void visit(Object resource, InvocationHandler visitor) throws IOException {<FILL_FUNCTION_BODY>}

}

        Object visitorProxy = Proxy.newProxyInstance(VIRTUAL_FILE_VISITOR_INTERFACE.getClassLoader(), new Class<?>[] { VIRTUAL_FILE_VISITOR_INTERFACE }, visitor);
        invokeVfsMethod(VIRTUAL_FILE_METHOD_VISIT, resource, visitorProxy);
    
<methods>public non-sealed void <init>() ,public static boolean exists(java.lang.Object) ,public static T getChild(java.lang.Object, java.lang.String) throws java.io.IOException,public static java.io.File getFile(java.lang.Object) throws java.io.IOException,public static java.io.InputStream getInputStream(java.lang.Object) throws java.io.IOException,public static long getLastModified(java.lang.Object) throws java.io.IOException,public static java.lang.String getName(java.lang.Object) ,public static T getRelative(java.net.URL) throws java.io.IOException,public static T getRoot(java.net.URI) throws java.io.IOException,public static T getRoot(java.net.URL) throws java.io.IOException,public static long getSize(java.lang.Object) throws java.io.IOException,public static java.net.URI getURI(java.lang.Object) throws java.io.IOException,public static java.net.URL getURL(java.lang.Object) throws java.io.IOException,public static boolean isReadable(java.lang.Object) <variables>private static java.lang.reflect.Method GET_PHYSICAL_FILE,private static final org.hotswap.agent.logging.AgentLogger LOGGER,private static final java.lang.String VFS3_PKG,private static java.lang.reflect.Method VFS_METHOD_GET_ROOT_URI,private static java.lang.reflect.Method VFS_METHOD_GET_ROOT_URL,private static final java.lang.String VFS_NAME,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_EXISTS,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_CHILD,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_INPUT_STREAM,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_LAST_MODIFIED,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_NAME,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_PATH_NAME,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_SIZE,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_TO_URI,private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_TO_URL,protected static java.lang.reflect.Method VIRTUAL_FILE_METHOD_VISIT,protected static Class<?> VIRTUAL_FILE_VISITOR_INTERFACE,private static java.lang.reflect.Field VISITOR_ATTRIBUTES_FIELD_RECURSE,private static volatile boolean initialized