void dump(Writer writer, TaskMonitor monitor) throws CancelledException, IOException {
		PdbReaderUtils.dumpHead(writer, this);
		writer.write("cFile: " + cFile + " cSeg: " + cSeg + "\n");
		for (int i = 0; i < cFile; i++) {
			pdb.checkCancelled();
			writer.write("baseSrcFile[" + i + "]: " + baseSrcFile.get(i) + "\n");
		}
		for (int i = 0; i < cSeg; i++) {
			pdb.checkCancelled();
			writer.write(i + ": start:" + startEnd.get(i).getStart() + " end: " +
				startEnd.get(i).getEnd() + " seg: " + seg.get(i) + "\n");
		}
		for (int i = 0; i < cFile; i++) {
			pdb.checkCancelled();
			writer.write(
				"  file[" + i + "]: cSeg: " + ccSegs.get(i) + " name: " + names.get(i) + "\n");
			List<Integer> myBaseSrcLn = baseSrcLines.get(i);
			List<C11LinesStartEnd> myStartEnds = startEnds.get(i);
			for (int j = 0; j < ccSegs.get(i); j++) {
				C11LinesStartEnd se = myStartEnds.get(j);
				writer.write("  " + j + ": baseSrcLn: " + myBaseSrcLn.get(j) + " start: " +
					se.getStart() + " end: " + se.getEnd() + "\n");
			}
			List<Integer> segNums = segmentNumbers.get(i);
			List<List<Long>> fileSegOffsets = offsets.get(i);
			List<List<Integer>> fileSegLineNums = lineNumbers.get(i);
			for (int j = 0; j < fileSegOffsets.size(); j++) {
				pdb.checkCancelled();
				List<Long> segOffsets = fileSegOffsets.get(j);
				List<Integer> segLineNums = fileSegLineNums.get(j);
				writer.write("  seg[" + j + "]: Seg: " + segNums.get(j) + " cPair: " +
					segOffsets.size() + "\n");
				for (int k = 0; k < segOffsets.size(); k++) {
					writer.write("  " + segLineNums.get(k) + ":" + segOffsets.get(k) + "\n");
				}
			}
		}
		PdbReaderUtils.dumpTail(writer, this);
	}
Dumps this class to Writer.  This package-protected method is for debugging only
@param writer the writer
@param monitor the task monitor
@throws CancelledException upon user cancellation
@throws IOException upon issue writing to writer
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb2/pdbreader/C11Lines.java