@Test
	public void testGetObjectsByPath() {
		populateModel(2);

		assertEquals(1,
			manager.getObjectsByPath(Lifespan.at(0), KeyPath.parse("Targets[0]"))
					.count());
		assertEquals(0,
			manager.getObjectsByPath(Lifespan.at(0), KeyPath.parse("Targets[1]"))
					.count());
		assertEquals(1,
			manager.getObjectsByPath(Lifespan.at(1), KeyPath.parse("Targets[1]"))
					.count());
		assertEquals(2,
			manager.getObjectsByPath(Lifespan.ALL, KeyPath.parse("curTarget")).count());

		TraceObject target1 =
			manager.getObjectsByPath(Lifespan.ALL, KeyPath.parse("Targets[1]"))
					.findAny()
					.get();
		assertEquals(target1,
			manager.getObjectsByPath(Lifespan.at(1), KeyPath.parse("curTarget"))
					.findAny()
					.get());
	}
Fails because you cannot create a second root object.
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/target/DBTraceObjectManagerTest.java