private void ApplyPathConversion(string basePath, Func <string, string, string> converter) { if (basePath == null) { throw new ArgumentNullException("basePath"); } if (WorkingDirectory != null) { WorkingDirectory = converter(WorkingDirectory, basePath); } if (ApplicationBaseDirectory != null) { ApplicationBaseDirectory = converter(ApplicationBaseDirectory, basePath); } if (ApplicationBaseDirectory != null) { ApplicationBaseDirectory = converter(ApplicationBaseDirectory, basePath); } GenericCollectionUtils.ConvertInPlace(files, x => converter(x, basePath)); GenericCollectionUtils.ConvertInPlace(hintDirectories, x => converter(x, basePath)); }