public static bool IsDerivedFrom([NotNull] this BaseTypeDeclarationSyntax typeDeclaration, [NotNull] SemanticModel semanticModel,
                                         [NotNull] ITypeSymbol baseType)
        {
            Requires.NotNull(typeDeclaration, nameof(typeDeclaration));
            Requires.NotNull(semanticModel, nameof(semanticModel));
            Requires.NotNull(baseType, nameof(baseType));

            return(typeDeclaration.GetTypeSymbol(semanticModel).IsDerivedFrom(baseType));
        }