package innovimax.mixthem.operation;

import innovimax.mixthem.arguments.Mode;

public class CopyFactory {
  
    public static ICopy newInstance(Mode mode) {
        return mode == Mode.CHAR ? new DefaultCharCopy() : new DefaultByteCopy();
    }    
    
}

@@ -71,16 +71,132 @@
 ts.Mode;
+%0Aimport innovimax.mixthem.arguments.RuleParam;%0Aimport innovimax.mixthem.arguments.ParamValue;%0A%0Aimport java.util.Map;
 %0A%0Apublic
@@ -255,16 +255,22 @@
 nstance(
+final 
 Mode mod
@@ -270,16 +270,57 @@
 ode mode
+, final Map%3CRuleParam, ParamValue%3E params
 ) %7B%0A    
@@ -370,16 +370,22 @@
 harCopy(
+params
 ) : new 
@@ -400,16 +400,22 @@
 yteCopy(
+params
 );%0A    %7D

Update CopyFactory.java