code: public ValidationResult validate(@Nonnull ModelNode fullConfiguration, @Nonnull Configurable configurable)
          throws ConfigurationException {
          try {
              switch (fullConfiguration.getType()) {
                  case LIST:
                      return _validate(fullConfiguration, configurable);
                  case UNDEFINED:
                      return ValidationResult.success();
                  default:
                      throw new ConfigurationException("Expecting a JSON array as the configuration object.");
              }
          } catch (IOException | ScriptException e) {
              throw new ConfigurationException("Failed to validate configuration.", e);
          }
      }
docs: Validates that the full configuration contains valid configuration for given configurable.
  
  @param fullConfiguration the full configuration containing properties for all configurables
  @param configurable      the configurable to validate the configuration for
  
  @return the result of the validation.
  
  @throws ConfigurationException if reading the JSON schemas of the configurable failed