///////////////////////////////////////////////////////////////////////
 /// <summary>Adds a new attribute of type location.</summary>
 /// <param name="name">attribute name</param>
 /// <param name="value">value</param>
 /// <returns>the newly-created GBaseAttribute object</returns>
 ///////////////////////////////////////////////////////////////////////
 public GBaseAttribute AddLocationAttribute(string name, Location value)
 {
     return Add(value.CreateGBaseAttribute(name));
 }
 //////////////////////////////////////////////////////////////////////
 /// <summary>Returns all the object representations for attributes
 /// of type location with this name.</summary>
 //////////////////////////////////////////////////////////////////////
 public List<Location> GetLocationAttributesAsObjects(string name)
 {
     List<GBaseAttribute> attributes = GetAttributes(name, GBaseAttributeType.Location);
     List<Location> retval = new List<Location>(attributes.Count);
     for (int i = 0; i < retval.Count; i++)
     {
         retval[i] = new Location(attributes[i]);
     }
     return retval;
 }