public string Expand ()
{
StringBuilder sb = new StringBuilder ();
for (int i = 0; i < value.Length; i++){
if (value [i] == '%'){
int j = i + 1;
for (; j < value.Length; j++){
if (value [j] == '%'){
string key = value.Substring (i + 1, j - i - 1);
sb.Append (Environment.GetEnvironmentVariable (key));
i += j;
break;
}
}
if (j == value.Length){
sb.Append ('%');
}
} else {
sb.Append (value [i]);
}
}
return sb.ToString ();
}
}