anchor.diff:      {ok, State}.
   
   %%private
  -interested(Id, Bucket, PreId, S0=#state{groups=RGroups, nleaves=NLeaves, paths=Paths}) ->
  -    Group = dict:fetch(Bucket, RGroups),
  +interested(Id, Bucket, PreId, Groups, NLeaves, Paths) ->
  +    [{Bucket, Group}] = ets:lookup(Groups, Bucket),
       case is_leaf(Id, NLeaves) of
           true ->
               contains(Id, Group);
  
positive.code:                                             Acc ++ [Id]
                                      end
                                  end, [], Value),
              {reply, {ok, Group}, S0};
          error ->
              {reply, {error, unknown_key}, S0}
      end;
  
  handle_call({filter_stream_leaf_id, Stream0}, _From, S0=#state{tree=Tree, nleaves=NLeaves, myid=MyId}) ->
      Row = dict:fetch(MyId, Tree),
      Internal = find_internal(Row, 0, NLeaves),
      Stream1 = lists:foldl(fun({BKey, Elem}, Acc) ->
                              {Bucket, _Key} = BKey,
                              case interested(Internal, Bucket, MyId, S0) of
                                  true ->
                                      Acc ++ [Elem];
                                  false ->
  
negative.code:                                                 _ -> Acc ++ [Elem]
                                              end 
                                             end, [], ExtraPath),
              expand_links(FilteredExtraPath, H, NLeaves, Paths) ++ expand_links(T, PreId, NLeaves, Paths)
      end.
  
  intersect([], _List2) ->
  