ph-schematron/src/main/java/com/helger/schematron/pure/preprocess/PSPreprocessor.java
@Nullable
  public PSSchema getAsPreprocessedSchema (@Nonnull final PSSchema aSchema) throws SchematronPreprocessException
  {
    ValueEnforcer.notNull (aSchema, "Schema");

    // Anything to do?
    if (aSchema.isPreprocessed ())
      return aSchema;

    return getForcedPreprocessedSchema (aSchema);
  }
@Nullable
  public PSSchema getAsPreprocessedSchema (@Nonnull final PSSchema aSchema) throws SchematronPreprocessException
  {
    ValueEnforcer.notNull (aSchema, "Schema");

    // Anything to do?
    if (aSchema.isPreprocessed ())
      return aSchema;

    return getForcedPreprocessedSchema (aSchema);
  }
Convert the passed schema to a pre-processed schema.

@param aSchema
The schema to pre-process. May not be <code>null</code>
@return The original schema object, if it is already pre-processed - a
pre-processed copy otherwise! May be <code>null</code> if the
original schema is not yet pre-processed and
{@link #isKeepEmptySchema()} is set to <code>false</code>.
@throws SchematronPreprocessException
In case a preprocessing error occurs