/// <summary>
 /// Gets all component references registered in this reference map.
 /// </summary>
 /// <returns>a list with component references.</returns>
 public virtual List <object> GetAll()
 {
     return(BaseReferences.GetAll());
 }
 /// <summary>
 /// Removes all component references that match the specified locator.
 /// </summary>
 /// <param name="locator">the locator to remove references by.</param>
 /// <returns>a list, containing all removed references.</returns>
 public virtual List <object> RemoveAll(object locator)
 {
     return(BaseReferences.RemoveAll(locator));
 }
 /// <summary>
 /// Removes a previously added reference that matches specified locator. If many
 /// references match the locator, it removes only the first one.When all
 /// references shall be removed, use removeAll() method instead.
 /// </summary>
 /// <param name="locator">a locator to remove reference</param>
 /// <returns>the removed component reference.</returns>
 public virtual object Remove(object locator)
 {
     return(BaseReferences.Remove(locator));
 }
 /// <summary>
 /// Puts a new reference into this reference map.
 /// </summary>
 /// <param name="locator">a locator to find the reference by.</param>
 /// <param name="component">a component reference to be added.</param>
 public virtual void Put(object locator, object component)
 {
     BaseReferences.Put(locator, component);
 }
 /// <summary>
 /// Gets all component references that match specified locator.
 /// </summary>
 /// <typeparam name="T">the class type</typeparam>
 /// <param name="locator">the locator to find a reference by.</param>
 /// <param name="required">forces to raise an exception if no reference is found.</param>
 /// <returns>a list with matching component references.</returns>
 public virtual List <T> Find <T>(object locator, bool required)
 {
     return(BaseReferences.Find <T>(locator, required));
 }
 public virtual List <T> Find <T>(ReferenceQuery query, bool required)
 {
     return(BaseReferences.Find <T>(query, required));
 }