anchor.diff:      throws <%= repository.exception_by_name(repository.imit.invalid_session_exception).ee.qualified_name %>
     {
       final <%= repository.imit.qualified_session_name %> session = ensureSession( sessionID );
  +    //Force the sessionID to the desired session in case call has not come in via gwt-rpc
  +    _registry.putResource( org.realityforge.replicant.shared.transport.ReplicantContext.SESSION_ID_KEY, sessionID );
       <%= nullability_annotation(graph.filter_parameter.nullable?) %> final <%= Domgen::Java.java_type(graph.filter_parameter, :ee, :default) %> original = session.get<%= graph.name %>Parameter(<%= pk_accessor %>);
       session.updateInterestIn<%= graph.name %>( <%= "#{pk_accessor}#{'' == pk_accessor ? '' : ", "}" %>filter );
       final org.realityforge.replicant.server.EntityMessageSet messages = new org.realityforge.replicant.server.EntityMessageSet();
  
positive.code:     throws <%= repository.exception_by_name(repository.imit.invalid_session_exception).ee.qualified_name %>
    {
      final <%= repository.imit.qualified_session_name %> session = ensureSession( sessionID );
      doUnsubscribeFrom<%= graph.name %>( session<%= pk_accessor.size == 0 ? '' : ", #{pk_accessor}" %> );
    }
  
  
negative.code: <% end -%>
    @javax.inject.Inject
    private <%= repository.service_by_name(repository.imit.session_context_service).ejb.qualified_service_name %> _context;
    @Resource
    private javax.transaction.TransactionSynchronizationRegistry _registry;
  
    /**
     * Remove idle session changes. This is called by a scheduler.
  