private void ProcessDictEntry(HybridDictionary map, StringBuilder keyBuilder, object value,
IInternalContextAdapter context)
{
object key = keyBuilder.ToString().Trim();
if (key.ToString().StartsWith("$"))
{
object keyVal = EvaluateInPlace(key.ToString(), context);
if (keyVal == null)
{
throw new ArgumentException("The dictionary entry " + key +
" evaluated to null, but null is not a valid dictionary key");
}
key = keyVal;
}
map[key] = value;
keyBuilder.Length = 0;
}