@Test
	public void testGetAllPaths() {
		populateModel(3);

		TraceObject object = Unique.assertOne(
			manager.getObjectsByPath(Lifespan.at(0), KeyPath.parse("curTarget")));

		List<TraceObjectValPath> paths =
			object.getAllPaths(Lifespan.at(0)).collect(Collectors.toList());
		assertEquals(4, paths.size());

		paths.sort(Comparator.naturalOrder());
		TraceObjectValPath path;

		path = paths.get(0);
		assertEquals(object, path.getDestination(root));
		assertEquals(KeyPath.parse("Targets[0]"), path.getPath());

		path = paths.get(1);
		assertEquals(object, path.getDestination(root));
		assertEquals(KeyPath.parse("Targets[0].self"), path.getPath());

		path = paths.get(2);
		assertEquals(object, path.getDestination(root));
		assertEquals(KeyPath.of("curTarget"), path.getPath());

		path = paths.get(3);
		assertEquals(object, path.getDestination(root));
		assertEquals(KeyPath.parse("curTarget.self"), path.getPath());

		paths = root.getAllPaths(Lifespan.ALL).collect(Collectors.toList());
		assertEquals(1, paths.size());
		path = paths.get(0);
		assertEquals(root, path.getDestination(root));
	}
Fails because you cannot create a second root object.
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/target/DBTraceObjectManagerTest.java