/// <summary>
        /// Extracts the resolver initializer expression that was specified for a configuration function.
        /// </summary>
        public static bool TryExtractResolversPropertyFromConfiguration(
            this ISourceFile sourceFile,
            out IExpression resolvers, out string failureReason)
        {
            resolvers = null;

            IObjectLiteralExpression literal;

            if (!sourceFile.TryExtractConfigurationLiteral(out literal, out failureReason))
            {
                return(false);
            }

            if (
                !literal.TryFindAssignmentPropertyInitializer(
                    ResolversFieldName,
                    out resolvers))
            {
                failureReason = I($"There must be a field '{ResolversFieldName}' initialized with a collection of resolvers.");
                return(false);
            }

            return(true);
        }