code: public static ClassFileReader newInstance(Path path, Runtime.Version version) throws IOException {
          if (Files.notExists(path)) {
              throw new FileNotFoundException(path.toString());
          }
  
          if (Files.isDirectory(path)) {
              return new DirectoryReader(path);
          } else if (path.getFileName().toString().endsWith(".jar")) {
              return new JarFileReader(path, version);
          } else {
              return new ClassFileReader(path);
          }
      }
docs: Returns a ClassFileReader instance of a given path.