anchor.diff:    implements org.testng.IHookable
   <% end -%>
   {
  +<% if repository.arez? -%>
  +  private final java.util.ArrayList<String> _observerErrors = new java.util.ArrayList<>();
  +  private boolean _ignoreObserverErrors;
  +  private boolean _printObserverErrors;
  +<% end -%>
   <% repository.gwt.test_factories.each do |short_code, classname| -%>
     @javax.annotation.Nonnull
     @edu.umd.cs.findbugs.annotations.SuppressFBWarnings( "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" )
  
positive.code:     return new <%= classname %>();
    }
  <% end -%>
  <% repository.gwt.test_class_contents.each do |content| %>
  <%= content -%>
  <% end -%>
  
negative.code:     super.postTest();
      arez.ArezTestUtil.resetConfig( true );
      org.realityforge.braincheck.BrainCheckTestUtil.resetConfig( true );
  <% if repository.arez? -%>
      if ( !_ignoreObserverErrors && !_observerErrors.isEmpty() )
      {
        org.testng.Assert.fail( "Unexpected Observer Errors: " + _observerErrors.stream().collect( java.util.stream.Collectors.joining( "\n" ) ) );
      }
  <% end -%>
    }
  
    @Override
  