internal override void ToASCIIGnuStep(StringBuilder ascii, int level)
 {
     Indent(ascii, level);
     ascii.Append(ASCIIPropertyListParser.DICTIONARY_BEGIN_TOKEN);
     ascii.Append(NEWLINE);
     foreach (string key in Keys)
     {
         NSObject val = ObjectForKey(key);
         Indent(ascii, level + 1);
         ascii.Append("\"");
         ascii.Append(NSString.EscapeStringForASCII(key));
         ascii.Append("\" =");
         Type objClass = val.GetType();
         if (objClass.Equals(typeof(NSDictionary)) || objClass.Equals(typeof(NSArray)) || objClass.Equals(typeof(NSData)))
         {
             ascii.Append(NEWLINE);
             val.ToASCIIGnuStep(ascii, level + 2);
         }
         else
         {
             ascii.Append(" ");
             val.ToASCIIGnuStep(ascii, 0);
         }
         ascii.Append(ASCIIPropertyListParser.DICTIONARY_ITEM_DELIMITER_TOKEN);
         ascii.Append(NEWLINE);
     }
     Indent(ascii, level);
     ascii.Append(ASCIIPropertyListParser.DICTIONARY_END_TOKEN);
 }