public virtual bool UpToDate(IPsiSourceFile sourceFile)
        {
            if (!IsApplicable(sourceFile))
            {
                return(true);
            }

            if (!myTimeStamps.TryGetValue(sourceFile, out var value))
            {
                return(false);
            }

            return(value == sourceFile.GetAggregatedTimestamp() && Map.ContainsKey(sourceFile));
        }
        public void Merge(IPsiSourceFile psiSourceFile, object build)
        {
            Drop(psiSourceFile);

            if (build != null)
            {
                myTimeStamps[psiSourceFile] = psiSourceFile.GetAggregatedTimestamp();
                Map[psiSourceFile]          = (T)build;
                MergeData(psiSourceFile, (T)build);
            }
            else
            {
                Map.Remove(psiSourceFile);
            }
        }