Source:
<code>public final ImageSegmentImpl parse(final NitfReader nitfReader, final ParseStrategy parseStrategy, final long dataLength) throws NitfFormatException { reader = nitfReader; segment = new ImageSegmentImpl(); segment.setDataLength(dataLength); parsingStrategy = parseStrategy; segment.setFileType(nitfReader.getFileType()); readIM(); readIID1(); readIDATIM(); readTGTID(); readIID2(); segment.setSecurityMetadata(new SecurityMetadataParser().parseSecurityMetadata(reader)); readENCRYP(); readISORCE(); readNROWS(); readNCOLS(); readPVTYPE(); readIREP(); readICAT(); readABPP(); readPJUST(); readICORDS(); if ((segment.getImageCoordinatesRepresentation() != ImageCoordinatesRepresentation.UNKNOWN) && (segment.getImageCoordinatesRepresentation() != ImageCoordinatesRepresentation.NONE)) { readIGEOLO(); } readNICOM(); for (int i = 0; i < numImageComments; ++i) { segment.addImageComment(reader.readTrimmedBytes(ICOM_LENGTH)); } readIC(); if (segment.hasCOMRAT()) { readCOMRAT(); } readNBANDS(); if ((reader.getFileType() != FileType.NITF_TWO_ZERO) && (numBands == 0)) { readXBANDS(); } for (int i = 0; i < numBands; ++i) { <START> ImageBandImpl imageBand = new ImageBandImpl(); <END> new ImageBandParser(reader, imageBand); segment.addImageBand(imageBand); } readISYNC(); readIMODE(); readNBPR(); readNBPC(); readNPPBH(); readNPPBV(); readNBPP(); readIDLVL(); readIALVL(); readILOC(); readIMAG(); readUDIDL(); if (userDefinedImageDataLength > 0) { readUDOFL(); readUDID(); } readIXSHDL(); if (imageExtendedSubheaderDataLength > 0) { readIXSOFL(); readIXSHD(); } return segment; }</code><technical_language>return ImageBand? A of throughout</technical_language>

Target:
public final ImageSegment parse(final NitfReader nitfReader, final ParseStrategy parseStrategy, final long dataLength) throws NitfFormatException { reader = nitfReader; segment = new ImageSegmentImpl(); segment.setDataLength(dataLength); parsingStrategy = parseStrategy; segment.setFileType(nitfReader.getFileType()); readIM(); readIID1(); readIDATIM(); readTGTID(); readIID2(); segment.setSecurityMetadata(new SecurityMetadataParser().parseSecurityMetadata(reader)); readENCRYP(); readISORCE(); readNROWS(); readNCOLS(); readPVTYPE(); readIREP(); readICAT(); readABPP(); readPJUST(); readICORDS(); if ((segment.getImageCoordinatesRepresentation() != ImageCoordinatesRepresentation.UNKNOWN) && (segment.getImageCoordinatesRepresentation() != ImageCoordinatesRepresentation.NONE)) { readIGEOLO(); } readNICOM(); for (int i = 0; i < numImageComments; ++i) { segment.addImageComment(reader.readTrimmedBytes(ICOM_LENGTH)); } readIC(); if (segment.hasCOMRAT()) { readCOMRAT(); } readNBANDS(); if ((reader.getFileType() != FileType.NITF_TWO_ZERO) && (numBands == 0)) { readXBANDS(); } for (int i = 0; i < numBands; ++i) { ImageBandImpl imageBand = new ImageBandImpl(); new ImageBandParser(reader, imageBand); segment.addImageBand(imageBand); } readISYNC(); readIMODE(); readNBPR(); readNBPC(); readNPPBH(); readNPPBV(); readNBPP(); readIDLVL(); readIALVL(); readILOC(); readIMAG(); readUDIDL(); if (userDefinedImageDataLength > 0) { readUDOFL(); readUDID(); } readIXSHDL(); if (imageExtendedSubheaderDataLength > 0) { readIXSOFL(); readIXSHD(); } return segment; }