code: private DifferenceEngineContract getDifferenceEngine() {
          if (differenceEngine == null) {
              if (
                  XMLUnit.getIgnoreAttributeOrder()
                  &&
                  (!usesUnknownElementQualifier()
                   || XMLUnit.getCompareUnmatched())
                  ) {
                  return new NewDifferenceEngine(this, matchTrackerDelegate);
              }
              return new DifferenceEngine(this, matchTrackerDelegate);
          }
          return differenceEngine;
      }
docs: Lazily initializes the difference engine if it hasn't been set
  via a constructor.