anchor.diff:  -define(DEFAULT_MIN_CLONE_MEMBER, 1).
   
   
  --define(DEBUG, true).
  +%% -define(DEBUG, true).
   
   -ifdef(DEBUG).
   -define(debug(__String, __Args), ?wrangler_io(__String, __Args)).
  
positive.code: get_expr_or_fun_seq(Toks, [E1, E2 | Es]) ->
      case is_expr(E1) of
        true ->
  	  {StartLoc, EndLoc} = refac_util:get_range(E1),
  	  {StartLoc1, _EndLoc} = refac_util:get_range(E2),
  	  Toks1 = lists:dropwhile(fun (T) -> token_loc(T) =< EndLoc end, Toks),
  	  Toks2 = lists:takewhile(fun (T) -> token_loc(T) < StartLoc1 end, Toks1),
  	  case lists:any(fun (T) -> token_val(T) =/= ',' end, Toks2) or not is_expr(E2) of
  	    true -> [{StartLoc, EndLoc}];
  	    _ -> [{StartLoc, EndLoc}] ++ get_expr_or_fun_seq(Toks, [E2 | Es])
  
negative.code:     end.
  
  get_clones_by_erlang_suffix_tree(Toks, ProcessedToks, MinLength, MinClones) ->
      ?wrangler_io("\nWrangler failed to use the C suffixtree implementation;"
                   "Initial clones are calculated using Erlang suffixtree implementation.\n",[]),
      Tree = suffix_tree(alphabet() ++ "&", ProcessedToks ++ "&"),
      Cs = lists:flatten(lists:map(fun (B) ->
  					 collect_clones(MinLength, MinClones, B)
  				 end,
  				 Tree)),
      Cs1 = remove_sub_clones(Cs),
      {Toks, Cs1}.
      
  call_port(Msg) ->
  