exp = exp.replaceAll("%"+(i + 1), params[i]);
String par = params[i]; par = (par == null) ? "" : par.trim(); exp = exp.replaceAll("%"+(i + 1), par);
    public String expand(String[] params){        //if(paramCount != params.length) return null;        String exp = body;        for(int i = 0; i < localLabels.length; i++){            exp = exp.replaceAll(localLabels[i], "__jnasm_macro_local_label_" + localLabelCount ++);        }        for(int i = 0; i < params.length; i++){            exp = exp.replaceAll("%"+(i + 1), params[i]);        }        if(maxParamCount > params.length){            if(defaultValues == null){                for(int i = params.length; i < maxParamCount; i++){                    exp = exp.replaceAll("%"+(i + 1), "");                }            }else{                for(int i = params.length; i < maxParamCount; i++){                    if(defaultValues.length > i - params.length){                        exp = exp.replaceAll("%"+(i + 1), defaultValues[i - params.length]);                    }else{                        exp = exp.replaceAll("%"+(i + 1), "");                    }                }            }        }        return exp;    }