/** @return The tool chain with the given name. */
 public static ToolChainCandidate getToolChain(ToolChainRequirement requirement) {
   for (ToolChainCandidate toolChainCandidate : getToolChains()) {
     if (toolChainCandidate.meets(requirement)) {
       return toolChainCandidate;
     }
   }
   return null;
 }
 /**
  * @return A list of all tool chains installed on the system, with the default tool chain listed
  *     first (if installed).
  */
 public static List<InstalledToolChain> getAvailableToolChains() {
   List<ToolChainCandidate> allToolChains = getToolChains();
   List<InstalledToolChain> installedToolChains = new ArrayList<InstalledToolChain>();
   for (ToolChainCandidate candidate : allToolChains) {
     if (candidate.isAvailable()) {
       installedToolChains.add((InstalledToolChain) candidate);
     }
   }
   return installedToolChains;
 }