anchor.diff:    {
       super.updateSubscription( session, address, filter, changeSet );
   <% repository.imit.graphs.select{|graph| graph.filter_parameter? && !graph.filter_parameter.immutable? }.each do |graph|
  -  instance_root = repository.entity_by_name(graph.instance_root)
  -  root_type = Domgen::Java.java_type(instance_root.primary_key, :ee, :default)
  +  root_type = graph.instance_root? ? Domgen::Java.java_type(repository.entity_by_name(graph.instance_root).primary_key, :ee, :default) : nil
     processed = []
     graph.outward_graph_links.select{|graph_link| graph_link.auto?}.each do |graph_link|
        target_graph = repository.imit.graph_by_name(graph_link.target_graph)
  
positive.code:       assert null != filter;
        for ( final java.lang.Integer id : subChannelIDs )
        {
          propagateFilterFrom<%= graph.name %>To<%= target_graph.name %>( session, (<%= root_type %>) id, (<%= Domgen::Java.java_type(graph.filter_parameter, :ee, :default) %>) filter, changeSet );
        }
      }
  <% end -%>
  <% end -%>
    }
  <% repository.imit.graphs.select{|graph| graph.filter_parameter? && !graph.filter_parameter.immutable? }.each do |graph|
    instance_root = repository.entity_by_name(graph.instance_root)
    root_type = Domgen::Java.java_type(instance_root.primary_key, :ee, :default)
    processed = []
    graph.outward_graph_links.select{|graph_link| graph_link.auto?}.each do |graph_link|
       target_graph = repository.imit.graph_by_name(graph_link.target_graph)
  
negative.code:     if( <%= repository.imit.qualified_subscription_constants_name %>.<%= Reality::Naming.uppercase_constantize(graph.name) %> == address.getChannelId() )
      {
        assert null != filter;
        propagateFilterFrom<%= graph.name %>To<%= target_graph.name %>( session, <% if root_type %>(<%= root_type %>) address.getSubChannelId(), <% end %>(<%= Domgen::Java.java_type(graph.filter_parameter, :ee, :default) %>) filter, changeSet );
      }
  <% end -%>
  <% end -%>
  