/** performs a deep copy of all the attributes of the field */ public FieldMetaData deepCopy() { FieldMetaData fieldCopy = new ElementaryFieldMetaData(new String(myName), myRecord.getName()); fieldCopy.setIsFieldRedefine(isRedefine); fieldCopy.setDecimalPosition(decimalPosition); fieldCopy.setArraySize(myArraySize); fieldCopy.setSize(mySize); fieldCopy.setOffset(myOffset); fieldCopy.setType(myType); if (isFieldRedefine()) { fieldCopy.setFieldRedefined(myFieldRedefined.deepCopy()); } fieldCopy.setDependentFieldName(new String(myDependentFieldName)); fieldCopy.setIsSigned(isSigned); return fieldCopy; }