public ReferenceIntegrityCheckReport Report(Reference reference) { if (String.IsNullOrEmpty(reference.Path)) return this.refGlobal.Report(reference); if (!this.refExists.IsSatisfiedBy(reference)) return this.refExists.Report(reference); return this.refExternal.Report(reference); } }