@Override
 public PreprocessorDelegate load(@Nonnull PreprocessAndCompilePreprocessorDelegateKey key)
     throws Exception {
   return new PreprocessorDelegate(
       getPathResolver(),
       getCxxPlatform().getDebugPathSanitizer(),
       getParams().getProjectFilesystem().getRootPath(),
       CxxSourceTypes.getPreprocessor(getCxxPlatform(), key.getSourceType()),
       computePreprocessorFlags(key.getSourceType(), key.getSourceFlags()),
       getIncludeRoots(),
       getSystemIncludeRoots(),
       getHeaderMaps(),
       getFrameworks(),
       CxxDescriptionEnhancer.frameworkPathToSearchPath(getCxxPlatform(), getPathResolver()),
       getPrefixHeader(),
       getIncludes());
 }