@SuppressWarnings("unchecked")
 @Override
 public void dispatch(PendingReferenceCheck<T> reporter) {
   reference.dispatch(
       mock(
           (Class<PendingReferenceCheck<T>>) reporter.getClass(),
           withSettings()
               .spiedInstance(reporter)
               .defaultAnswer(new ReporterSpy<>(reference, reporter, log))));
 }
 void markInCustody() {
   PendingReferenceCheck<AbstractBaseRecord> reporter = pop();
   if (reporter != null) {
     reporter.skip();
   }
 }
 public void checkOrphanage() {
   PendingReferenceCheck<AbstractBaseRecord> reporter = pop();
   if (reporter != null) {
     reporter.checkReference(null, null);
   }
 }