public static Report validate(final PropertyResolver resolver, final Description description,
            PropertyScope defaultScope, PropertyScope ignoredScope) {
        final Report report = new Report();
        final List<Property> properties = description.getProperties();

        final Map<String, Object> inputConfig = PluginAdapterUtility.mapDescribedProperties(resolver, description,
                defaultScope);
        validate(asProperties(inputConfig), report, properties, ignoredScope);
        return report;
    }
public static Report validate ( final PropertyResolver resolver , final Description description , PropertyScope defaultScope , PropertyScope ignoredScope ) { final Report report = new Report ( ) ; final List < Property > properties = description . getProperties ( ) ; final Map < String , Object > inputConfig = PluginAdapterUtility . mapDescribedProperties ( resolver , description , defaultScope ) ; validate ( asProperties ( inputConfig ) , report , properties , ignoredScope ) ; return report ; }
Validate a set of properties for a description, and return a report.

@param resolver     property resolver
@param description  description
@param defaultScope default scope for properties
@param ignoredScope ignore properties at or below this scope, or null to ignore none
@return the validation report