docs: @Pure
  	public static File getSystemConfigurationDirectoryFor(String software) {
  		if (software == null || "".equals(software)) { //$NON-NLS-1$
  			throw new IllegalArgumentException();
  		}
  		final OperatingSystem os = OperatingSystem.getCurrentOS();
  		if (os == OperatingSystem.ANDROID) {
  			return join(File.listRoots()[0], Android.CONFIGURATION_DIRECTORY,
  					Android.makeAndroidApplicationName(software));
  		} else if (os.isUnixCompliant()) {
  			final File[] roots = File.listRoots();
  			return join(roots[0], "etc", software); //$NON-NLS-1$
  		} else if (os == OperatingSystem.WIN) {
  			File pfDirectory;
  			for (final File root : File.listRoots()) {
  				pfDirectory = new File(root, "Program Files"); //$NON-NLS-1$
  				if (pfDirectory.isDirectory()) {
  					return new File(root, software);
  				}
  			}
  		}
  		return null;
  	}