public bool Run(Suite suite, string[] parameters)
{
var cleanParams = new CleanParameters(new string[0]);
var cleanParameters = parameters.Where(p => cleanParams.IsKeepReferencesParameter(p) || cleanParams.IsSoftCleanParameter(p)).ToArray();
var buildParameters = parameters.Where(p => !cleanParams.IsKeepReferencesParameter(p) && !cleanParams.IsSoftCleanParameter(p)).ToArray();
var cleanSucceeded = cleanCommand.Run(suite, cleanParameters);
targetRoot.Remake();
cacheRoot.Value.Remake();
var buildSucceeded = buildCommand.Run(suite, buildParameters);
return cleanSucceeded && buildSucceeded;
}