anchor.diff:  	   end,
       display_clones_2(Rs, Str1).
   
  -get_anti_unifier(C, MaxPars) ->
  +get_anti_unifier(C, MaxPars, MinLength) ->
       Freq = length(C),
       Len =  element(5, hd(C)),
  -    get_anti_unifier_0({lists:unzip([{R, {U, Vars}}||{R, U, Vars, _Bd, _Len}<-C]), Len, Freq}, MaxPars).
  +    get_anti_unifier_0({lists:unzip([{R, {U, Vars}}||{R, U, Vars, _Bd, _Len}<-C]), Len, Freq}, MaxPars, MinLength).
   		  
  -get_anti_unifier_0({{Range, CodeEVsPairs}, Len, F}, MaxPars) ->
  +get_anti_unifier_0(C={{Range, CodeEVsPairs}, Len, F}, MaxPars, MinLength) ->
       try
  -      get_anti_unifier_1(CodeEVsPairs)
  +        get_anti_unifier_1(CodeEVsPairs)
       of
  -      {Res, Pars} -> 
  -	    case Pars > MaxPars of
  +	{Res, Pars} -> 
  +	    case Pars > MaxPars orelse num_of_tokens_in_string(Res)< MinLength of
   		true -> [];
  -		_ ->[{Range, Len, F, Res}] 
  +		_ ->
  +		    [{Range, Len, F, Res}] 
   		    %%[{Range, Len, F, Res, Pars}]
   	    end
       catch
  
positive.code: %% This phase needs to get access to the abstract syntax tree.
  
  trim_clones(Cs, MinLength, MinClones, MaxPars, TabWidth) ->
      %%refac_io:format("Cs:\n~p\n", [Cs]),
      Files0 =[File||C <-Cs, {Range, _Len, _Freq} <-[C], {File,_,_}<-element(1,lists:unzip(Range))],
      Files=refac_util:remove_duplicates(Files0),
      Fun = fun(File, Cs0) ->
  
negative.code:     H = hd(GroupedNodeLists),
      group_subst_nodes(tl(GroupedNodeLists),[ordsets:from_list(L)|| L<-H]).
  group_subst_nodes([],Acc) ->
      Res =[{L1, lists:min([refac_syntax:get_pos(E)|| E<-L1])} ||
  	     L<- Acc, L1<-[ordsets:to_list(L)], L1/=[]],
      element(1, lists:unzip(lists:keysort(2, Res)));
  group_subst_nodes([L|T],Acc) ->
      L1 =[ordsets:from_list(E) || E <-L],
      Insets = [E||E<-[ordsets:intersection(E1,E2)||E1<-L1, E2<-Acc], ordsets:to_list(E)/=[]],
      {L11, Acc1}  = case Insets of 
  		       [] -> {L1, Acc};
  		       _ ->{[E1||E<-L1, E1<-[lists:foldl(fun(I, E0)->
  								 ordsets:subtract(E0, I)
  							 end, E, Insets)], E1/=[]],
  			    [E1||E<-Acc, E1<-[lists:foldl(fun(I, E0)->
  								  ordsets:subtract(E0, I)
  							  end, E, Insets)], E1/=[]]}
  		   end,
      group_subst_nodes(T, Insets++L11++Acc1).
  
  sets_subtraction(L, Insets) ->
      [E1 || E <- L, E1 <- [lists:foldl(fun (I, E0) ->
  					      ordsets:subtract(E0, I)
  				      end, E, Insets)], E1 /= []].
  
  bb() ->
      0.
       
  do_expr_unification(Exp1, Exp2) ->
      case {is_list(Exp1), is_list(Exp2)} of
  