@Override
	public boolean parse() throws IOException {
		reader.setPointerIndex(offset);

		int bytesRead = 0;
		int stringLength = 0;
		int prevOffset = 0;

		// Loop through the data looking for NULL terminators
		while (bytesRead < header.getSize()) {
			int currentByte = reader.readNextUnsignedByte();
			stringLength++;
			bytesRead++;

			if (currentByte == 0) {
				stringIndexes.add(prevOffset);
				prevOffset = bytesRead;

				// Record the length of the UTF-8 string including the NULL terminator
				stringSizes.add(stringLength);

				// We're moving on to the next string so reset to 0
				stringLength = 0;
			}
		}

		return true;
	}
Creates a new Strings stream.

@param header The stream header associated with this stream.
@param offset The reader offset where this stream starts. 
@param rva The relative virtual address where this stream starts.
@param reader A reader that is used to read the stream.
@throws IOException if there is a problem reading the stream.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/pe/cli/streams/CliStreamStrings.java