@Test
	public void testPutBytesInScratchLeavesStaticDataUntouched() throws CodeUnitInsertionException {
		try (Transaction tx = b.startTransaction()) {
			TraceData d0at4000 =
				b.addData(0, b.addr(0x4000), IntegerDataType.dataType, b.buf(1, 2, 3, 4));
			assertEquals(Lifespan.nowOn(0), d0at4000.getLifespan());
			assertEquals(new Scalar(32, 0x01020304), d0at4000.getValue());

			b.trace.getMemoryManager().putBytes(-10, b.addr(0x4000), b.buf(5, 6, 7, 8));
			TraceData d10at4000 =
				b.trace.getCodeManager().definedData().getContaining(10, b.addr(0x4000));
			assertSame(d0at4000, d10at4000);
			assertEquals(Lifespan.nowOn(0), d10at4000.getLifespan());
			assertEquals(new Scalar(32, 0x01020304), d10at4000.getValue());
		}
	}
A dorked string type which ignores the maxLength parameter
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/listing/DBTraceCodeManagerTest.java