/** this method will write its value from the row to the record data byte array */ public void writeOnArray(CobolRow row, byte[] recordData) { Object value = row.get(this.getName()); ByteConverter converter; if (this.isArray()) { // check for array first adjust size if necessary if (this.dependsOn()) { adjustArraySize(row); } int offset = this.getOffset(); Iterator elements = ((List) value).iterator(); for (int i = this.getArraySize(); i > 0; i--) { FieldMetaData fieldCopy = this.deepCopy(); fieldCopy.setOffset(offset); converter = new ByteConverter(fieldCopy, recordData); String elementValue = (String) elements.next(); converter.setBytesToValue(elementValue); offset += mySize; } } else { converter = new ByteConverter(this, recordData); converter.setBytesToValue((String) value); } }