public static ISymbolSearch Create(ISymbolSearch symbolSearch1, ISymbolSearch symbolSearch2)
 {
     if (symbolSearch1 == null)
     {
         return(symbolSearch2);
     }
     if (symbolSearch2 == null)
     {
         return(symbolSearch1);
     }
     return(new CompositeSymbolSearch(symbolSearch1, symbolSearch2));
 }
        static List <ISymbolSearch> PrepareSymbolSearch(ISymbol entity, CancellationToken cancellationToken, out double totalWorkAmount)
        {
            totalWorkAmount = 0;
            List <ISymbolSearch> symbolSearches = new List <ISymbolSearch>();

            foreach (IProject project in GetProjectsThatCouldReferenceEntity(entity))
            {
                cancellationToken.ThrowIfCancellationRequested();
                ISymbolSearch symbolSearch = project.PrepareSymbolSearch(entity);
                if (symbolSearch != null)
                {
                    symbolSearches.Add(symbolSearch);
                    totalWorkAmount += symbolSearch.WorkAmount;
                }
            }
            if (totalWorkAmount < 1)
            {
                totalWorkAmount = 1;
            }
            return(symbolSearches);
        }
		public static ISymbolSearch Create(ISymbolSearch symbolSearch1, ISymbolSearch symbolSearch2)
		{
			if (symbolSearch1 == null)
				return symbolSearch2;
			if (symbolSearch2 == null)
				return symbolSearch1;
			return new CompositeSymbolSearch(symbolSearch1, symbolSearch2);
		}