@Override
  public @Nullable Class<?> findClass(@NotNull String fileName, String className, JarLoader jarLoader, ClassPath.ClassDataConsumer classConsumer)
    throws IOException {
    ZipFile zipFile = getZipFile();
    try {
      ZipEntry entry = zipFile.getEntry(fileName);
      if (entry == null) {
        return null;
      }

      byte[] bytes;
      try (InputStream stream = zipFile.getInputStream(entry)) {
        bytes = loadBytes(stream, (int)entry.getSize());
      }
      return classConsumer.consumeClassData(className, bytes);
    }
    finally {
      if (!lockJars) {
        zipFile.close();
      }
    }
  }
@Override
  public @Nullable Class<?> findClass(@NotNull String fileName, String className, JarLoader jarLoader, ClassPath.ClassDataConsumer classConsumer)