private void ClearAsTypeDeclarationPointingToReference(QualifiedModuleName referencedProject)
        {
            var toClearAsTypeDeclaration = DeclarationFinder
                                           .FindDeclarationsWithNonBaseAsType()
                                           .Where(decl => decl.QualifiedName.QualifiedModuleName == referencedProject);

            foreach (var declaration in toClearAsTypeDeclaration)
            {
                declaration.AsTypeDeclaration = null;
            }
        }
        public void Execute(IReadOnlyCollection <QualifiedModuleName> modules)
        {
            var toDetermineAsTypeDeclaration = _declarationFinder
                                               .FindDeclarationsWithNonBaseAsType()
                                               .Where(decl => decl.AsTypeDeclaration == null ||
                                                      modules.Contains(decl.QualifiedName.QualifiedModuleName));

            foreach (var declaration in toDetermineAsTypeDeclaration)
            {
                AnnotateType(declaration);
            }
        }