String (NewClassNameBuilder builder) { boolean updated = false; VarType[] newParams; if (params.length > 0) { newParams = params.clone(); for (int i = 0; i < params.length; i++) { VarType substitute = buildNewType(params[i], builder); if (substitute != null) { newParams[i] = substitute; updated = true; } } } else { newParams = VarType.EMPTY_ARRAY; } VarType newRet = ret; VarType substitute = buildNewType(ret, builder); if (substitute != null) { newRet = substitute; updated = true; } if (updated) { StringBuilder res = new StringBuilder("("); for (VarType param : newParams) { res.append(param); } res.append(")").append(newRet.toString()); return res.toString(); } return null; }