code: private List<Archive> getClassPathArchives(String cpaths, List<Path> initialArchives)
              throws IOException
      {
          List<Archive> result = new ArrayList<>();
          if (cpaths.isEmpty()) {
              return result;
          }
  
          List<Path> paths = new ArrayList<>();
          for (String p : cpaths.split(File.pathSeparator)) {
              if (p.length() > 0) {
                  // wildcard to parse all JAR files e.g. -classpath dir/*
                  int i = p.lastIndexOf(".*");
                  if (i > 0) {
                      Path dir = Paths.get(p.substring(0, i));
                      try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.jar")) {
                          for (Path entry : stream) {
                              paths.add(entry);
                          }
                      }
                  } else {
                      paths.add(Paths.get(p));
                  }
              }
          }
          for (Path p : paths) {
              if (Files.exists(p) && !hasSameFile(initialArchives, p)) {
                  result.add(Archive.getInstance(p));
              }
          }
          return result;
      }
docs: /*
  Returns the list of Archive specified in cpaths and not included
  initialArchives