code: private Templates setUp(String preprocessorPath,
                                 String fedoraschemaPath,
                                 String phase)
          throws ObjectValidityException, TransformerException {
          String key = fedoraschemaPath + "#" + phase;
          Templates templates =
                  generatedStyleSheets.get(key);
          if (templates == null) {
              rulesSource = fileToStreamSource(fedoraschemaPath);
              preprocessorSource = fileToStreamSource(preprocessorPath);
              templates = createValidatingStyleSheet(rulesSource,
                      preprocessorSource, phase);
              generatedStyleSheets.put(key, templates);
          }
          return templates;
      }
docs: Run setup to prepare for Schematron validation. This entails dynamically
  creating the validating stylesheet using the preprocessor and the schema.
  
  @param preprocessorPath
  the location of the Schematron preprocessor
  @param fedoraschemaPath
  the URL of the Schematron schema
  @param phase
  the phase in the fedora object lifecycle to which validation
  should pertain. (Currently options are "ingest" and "store")
  @return StreamSource
  @throws ObjectValidityException