|| type.getQualifiedSourceName().startsWith("java.lang.")
|| type.getQualifiedSourceName().startsWith("java.math."))
return copyValue;
// Deep copy arrays
JArrayType array = type.isArray();
if(array != null) {
String arrayTypeName = array.getParameterizedQualifiedSourceName();
String compTypeName = array.getComponentType().getParameterizedQualifiedSourceName();
String arrayName = "dest"+capFieldName;
sw.println(arrayTypeName+" src"+capFieldName+" = "+copyValue+";");
sw.println(arrayTypeName+" "+arrayName+";");
sw.println("if(src"+capFieldName+" != null) {");
sw.indent();
sw.println(arrayName+" = new "+compTypeName+"[src"+capFieldName+".length];");
sw.println("int "+arrayName+"Count = 0;");
sw.println("for(int i=0; i < "+arrayName+".length; i++) {");
sw.indent();
sw.println(arrayName+"[i] = "+copyField(array.getComponentType(), "src"+capFieldName+"[i]", capFieldName+"Elt")+";");
sw.outdent();
sw.println("}");
sw.outdent();
sw.println("} else {");
sw.indentln(arrayName+" = null;");