synchronized public void failOn(Failure fail){
  if (failures == null) {
    failures=new ArrayList<>();
  }
  failures.add(fail);
}

synchronized public void failOn ( Failure fail ) { if ( failures == null ) { failures = new ArrayList < > ( ) ; } failures . add ( fail ) ; }
add a failure object to the list of objects to be evaluated at every potential failure point
