### Question:
PendingReferenceCheck { public void checkReference( REFERENCED referenced, RecordAccess records ) { ConsistencyReporter.dispatchReference( engine(), checker, referenced, records ); } PendingReferenceCheck( CheckerEngine engine, ComparativeRecordChecker checker ); @Override synchronized String toString(); void checkReference( REFERENCED referenced, RecordAccess records ); void checkDiffReference( REFERENCED oldReferenced, REFERENCED newReferenced, RecordAccess records ); synchronized void skip();  }### Answer:
@Test void shouldNotAllowCheckReferenceAfterCheckReference() { referenceCheck.checkReference( new PropertyRecord( 0 ), null ); IllegalStateException exception = assertThrows( IllegalStateException.class, () -> referenceCheck.checkReference( new PropertyRecord( 0 ), null ) ); assertEquals( "Reference has already been checked.", exception.getMessage() ); }