@Override
		public BufferFileBlock readBlock() throws IOException {
			synchronized (LocalBufferFile.this) {
				if (raf == null) {
					throw new ClosedException();
				}

				if (nextIndex == bufferIndexList.size()) {
					return null; // no more buffers
				}

				int blockIndex = seekBufferBlock(bufferIndexList.get(nextIndex++));

				byte[] block = new byte[blockSize];
				raf.readFully(block);

				return new BufferFileBlock(blockIndex, block);
			}
		}
Construct input block stream for specific block indexes
within the file based upon a changeMap.  The head buffer
will never be included in the transfer.
@param changeMapData ChangeMap data which is used in determining which
buffers should be streamed
@throws IOException if an I/O error occurs
Ghidra/Framework/DB/src/main/java/db/buffers/LocalBufferFile.java