public PssgAttribute this[string attributeName] { get { if (HasAttribute(attributeName)) { return attributes[attributeName]; } throw new ArgumentOutOfRangeException("attributeName"); } set { this[attributeName] = value; } }