code: @Nonnull
    @OverrideOnDemand
    public PSSchema createPreprocessedSchema (@Nonnull final PSSchema aSchema,
                                              @Nonnull final IPSQueryBinding aQueryBinding) throws SchematronException
    {
      final PSPreprocessor aPreprocessor = createPreprocessor (aQueryBinding);
      final PSSchema aPreprocessedSchema = aPreprocessor.getAsPreprocessedSchema (aSchema);
      if (aPreprocessedSchema == null)
        throw new SchematronPreprocessException ("Failed to preprocess schema " +
                                                 aSchema +
                                                 " with query binding " +
                                                 aQueryBinding);
      if (SchematronDebug.isShowPreprocessedSchematron ())
        LOGGER.info ("Preprocessed Schematron:\n" +
                        MicroWriter.getNodeAsString (aPreprocessedSchema.getAsMicroElement ()));
      return aPreprocessedSchema;
    }
docs: Pre-process the read schema, using the determined query binding.
  
  @param aSchema
  The read schema. Never <code>null</code>.
  @param aQueryBinding
  The determined query binding. Never <code>null</code>.
  @return The pre-processed schema and never <code>null</code>.
  @throws SchematronException
  In case pre-processing fails