public IReadOnlyList <T> AllFrom(IBuildingBlock buildingBlock, Func <T, bool> criteriaFunc = null)
 {
     try
     {
         _criteriaFunc = criteriaFunc ?? (x => true);
         buildingBlock.AcceptVisitor(this);
         return(_allEntities.ToList());
     }
     finally
     {
         _allEntities.Clear();
     }
 }
 private bool containsEntity(IBuildingBlock buildingBlock)
 {
     buildingBlock.AcceptVisitor(this);
     return(_found);
 }