private static string ReadPropertyName(string name, ref int position)
{
var equalsIndex = name.IndexOf('=', position);
if (equalsIndex == -1)
throw new ArgumentException();
var propertyName = name.Substring(position, equalsIndex - position);
position += propertyName.Length;
return propertyName;
}