private SavedMappings processISAFields(IsaFieldMappingsDocument isaDocument) { SavedMappings mappings = new SavedMappings(); IsaFieldMappings isaFields = isaDocument.getIsaFieldMappings(); for (IsaField field : isaFields.getIsaFieldArray()) { MappingField isaFieldBeingMappedTo = new MappingField(field.getColumnName()); ISAFieldMapping currentMapping = new ISAFieldMapping(); for (FieldMapping fieldMapping : field.getFieldMappingArray()) { processFieldMappings( fieldMapping.getMappedFieldArray(), ISAFieldMapping.FIELD, currentMapping); } if (field.sizeOfDateMappingArray() > 0) { for (DateMapping dateMapping : field.getDateMappingArray()) { processFieldMappings( dateMapping.getMappedFieldArray(), ISAFieldMapping.DATE, currentMapping); } } if (field.sizeOfProviderMappingArray() > 0) { for (ProviderMapping providerMapping : field.getProviderMappingArray()) { processFieldMappings( providerMapping.getMappedFieldArray(), ISAFieldMapping.PERFORMER, currentMapping); } } if (field.sizeOfUnitMappingArray() > 0) { for (UnitMapping unitMapping : field.getUnitMappingArray()) { processFieldMappings( unitMapping.getMappedFieldArray(), ISAFieldMapping.UNIT, currentMapping); } } mappings.addMapping(isaFieldBeingMappedTo, currentMapping); } return mappings; }