private void loadClasses() {
    String classpath = System.getProperty("java.class.path");
    // System.out.println("java classpath is " + classpath);

    List<File> entries =
        stream(classpath.split(File.pathSeparator))
            .map(File::new)
            .collect(Collectors.toList());

    // check for <module>/build/classes/java/**
    String gradleBuildDirName =
        Paths.get(getModuleName(), "build", "classes", "java", sourceSet).toString();

    // check for <module>/build/classes/test/**
    String alternateBuildDirName =
        Paths.get(getModuleName(), "build", "classes", sourceSet).toString();

    // check for IntelliJ build location
    String intellijBuildDirName = getModuleName() + "." + sourceSet;

    String buildDir = null;
    for (File entry : entries) {
      if (entry.toString().endsWith(gradleBuildDirName)
          || entry.toString().endsWith(alternateBuildDirName)
          || entry.toString().endsWith(intellijBuildDirName)) {
        buildDir = entry.toString();
        break;
      }
    }
    assertThat(buildDir).isNotNull();
    System.out.println("ClassAnalysisRule is loading class files from " + buildDir);

    long start = System.currentTimeMillis();
    loadClassesFromBuild(new File(buildDir));
    long finish = System.currentTimeMillis();

    System.out.println("done loading " + classes.size() + " classes.  elapsed time = "
        + (finish - start) / 1000 + " seconds");
  }
@param moduleName The name of the gradle module in which your test resides
geode-junit/src/main/java/org/apache/geode/test/junit/rules/ClassAnalysisRule.java