docs: @Override
  	public String[] getBootpath(ILaunchConfiguration configuration) throws CoreException {
  		final String[][] paths = getBootpathExt(configuration);
  		final String[] pre = paths[0];
  		final String[] main = paths[1];
  		final String[] app = paths[2];
  		if (pre == null && main == null && app == null) {
  			// default
  			return null;
  		}
  		IRuntimeClasspathEntry[] entries = getOrComputeUnresolvedSARLRuntimeClasspath(configuration);
  		entries = JavaRuntime.resolveRuntimeClasspath(entries, configuration);
  		final List<String> bootEntries = new ArrayList<>(entries.length);
  		boolean empty = true;
  		boolean allStandard = true;
  		for (int i = 0; i < entries.length; i++) {
  			if (entries[i].getClasspathProperty() != IRuntimeClasspathEntry.USER_CLASSES) {
  				final String location = entries[i].getLocation();
  				if (location != null) {
  					empty = false;
  					bootEntries.add(location);
  					allStandard = allStandard
  							&& entries[i].getClasspathProperty() == IRuntimeClasspathEntry.STANDARD_CLASSES;
  				}
  			}
  		}
  		if (empty) {
  			return new String[0];
  		} else if (allStandard) {
  			return null;
  		} else {
  			return bootEntries.toArray(new String[bootEntries.size()]);
  		}
  	}