/// <summary> Retrieves all related entities of type 'StoreEntity' using a relation of type '1:n'.</summary>
 /// <param name="forceFetch">if true, it will discard any changes currently in the collection and will rerun the complete query instead</param>
 /// <param name="entityFactoryToUse">The entity factory to use for the GetMultiManyToOne() routine.</param>
 /// <param name="filter">Extra filter to limit the resultset.</param>
 /// <returns>Filled collection with all related entities of the type constructed by the passed in entity factory</returns>
 public virtual ProductSearchEngine.CollectionClasses.StoreCollection GetMultiStores(bool forceFetch, IEntityFactory entityFactoryToUse, IPredicateExpression filter)
 {
     if ((!_alreadyFetchedStores || forceFetch || _alwaysFetchStores) && !this.IsSerializing && !this.IsDeserializing && !this.InDesignMode)
     {
         AddToTransactionIfNecessary(_stores);
         _stores.SuppressClearInGetMulti = !forceFetch;
         _stores.EntityFactoryToUse      = entityFactoryToUse;
         _stores.GetMultiManyToOne(this, filter);
         _stores.SuppressClearInGetMulti = false;
         _alreadyFetchedStores           = true;
     }
     return(_stores);
 }