static void ExpandInEnvironmentVariables (Dictionary<string, string> processedEnvVars, Dictionary<string, string> unexpandedEnvVars,
string variableString, string variableValue)
{
var keys = unexpandedEnvVars.Keys.ToArray ();
foreach (var key in keys) {
var unexpandedValue = unexpandedEnvVars [key];
if (unexpandedValue.Contains (variableString)) {
if (variableValue != null)
processedEnvVars [key] = unexpandedValue.Replace (variableString, variableValue);
else
throw new InvalidDataException ("Configuration requires a value for the variable " + variableString);
} else {
processedEnvVars [key] = unexpandedValue;
}
}
}