final JForEach forEach = clone.body().forEach(clazz, "iter", jFieldVar);
if (forEach.var().type().fullName().equals("java.lang.Object") || enums.contains(forEach.var().type().fullName()) || forEach.var().type().fullName().equals("java.lang.String") ){
forEach.body().add(copy.ref(jFieldVar).invoke("add").arg(forEach.var()));
LOG.info("444a>>>>>>>" + forEach.var().type().fullName());
} else {
forEach.body().add(copy.ref(jFieldVar).invoke("add").arg(forEach.var().invoke("clone")));
LOG.info("444b>>>>>>>" + forEach.var().type().fullName()+".clone()");
}
} else {
final JExpression cond = JOp.cond(jFieldVar.eq(JExpr._null()), JExpr._null(), JExpr.cast(jFieldVar.type(), jFieldVar.invoke("clone")));
clone.body().assign(copy.ref(jFieldVar), cond);