anchor.diff:  		  end
   	  end,
       Cs2= lists:append(lists:map(Fun, Cs)),
  +    io:format("Type3:\n~p\n",[length(Cs2)]),
       Cs3 =[lists:map(fun(C) -> {C, Len, length(C)} end, group_by(2, lists:map(Fun0, Range)))
   		    || {Range, Len, _F}<- Cs2],
       Cs4 = lists:append(Cs3),
  
positive.code: 
  -module(refac_duplicated_code).
  
  -export([duplicated_code/3]).
  
  -export([duplicated_code_1/3]).
  
  -export([tokenize/1]).
  
  %% TODO:  
  %% 1) does recusive function calls affect the result?
  
negative.code: 
  duplicated_code(DirFileList, MinLength1, MinClones1) ->
      io:format("\nCMD: ~p:duplicated_code(~p,~p,~p).\n", [?MODULE, DirFileList, MinLength1, MinClones1]),
      ?debug("current time:~p\n", [time()]),
      start_suffix_tree_clone_detector(),
      {Cs5, _FileNames} = duplicated_code_detection(DirFileList, MinClones1, MinLength1),
      ?debug("Filtering out sub-clones.\n", []),
      Cs6 = remove_sub_clones(Cs5),
      stop_suffix_tree_clone_detector(),
      ?debug("current time:~p\n", [time()]),
      %% case length(FileNames) of
      %%     1 -> display_clones(Cs6);
      %%     _ -> display_clones1(Cs6)
      %%  end,
      io:format("No of Clones found:\n~p\n", [length(Cs6)]),
      io:format("Clones:\n~p\n", [Cs6]),
      {ok, "Duplicated code detection finished."}.
  
  -spec(duplicated_code_1/3::(dir(), [integer()], [integer()]) ->
  