code: public static Set<String> getVersions(MinecraftDirectory minecraftDir) {
  		Objects.requireNonNull(minecraftDir);
  		Set<String> versions = new TreeSet<>();
  
  		// null if the 'versions' dir not exists
  		File[] subdirs = minecraftDir.getVersions().listFiles();
  		if (subdirs != null) {
  			for (File file : subdirs) {
  				if (file.isDirectory() && doesVersionExist(minecraftDir, file.getName())) {
  					versions.add(file.getName());
  				}
  			}
  		}
  		return Collections.unmodifiableSet(versions);
  	}
docs: Returns the set of versions in the given minecraft directory.
  <p>
  This method returns a non-threaded safe, unordered set.
  
  @param minecraftDir the minecraft directory
  @return the set of versions
  @throws NullPointerException if <code>minecraftDir==null</code>