@Test
	public void testAttributeDefaultVisibility() {
		try (Transaction tx = b.startTransaction()) {
			TraceObjectValue rootVal =
				manager.createRootObject(ctx.getSchema(new SchemaName("Session")));
			root = rootVal.getChild();

			TraceObject object = manager.createObject(KeyPath.parse("OutsideSchema"));
			object.insert(Lifespan.ALL, ConflictResolution.DENY);
			assertFalse(object.getCanonicalParent(0).isHidden());

			TraceObject elemOutside =
				manager.createObject(KeyPath.parse("OutsideSchema[0]"));
			elemOutside.insert(Lifespan.ALL, ConflictResolution.DENY);
			assertFalse(elemOutside.getCanonicalParent(0).isHidden());

			TraceObject attrOutside =
				manager.createObject(KeyPath.parse("OutsideSchema.Attr"));
			attrOutside.insert(Lifespan.ALL, ConflictResolution.DENY);
			assertFalse(attrOutside.getCanonicalParent(0).isHidden());

			// TODO: This underscore convention is deprecated, but still in use
			TraceObject hiddenOutside =
				manager.createObject(KeyPath.parse("OutsideSchema._Attr"));
			hiddenOutside.insert(Lifespan.ALL, ConflictResolution.DENY);
			assertTrue(hiddenOutside.getCanonicalParent(0).isHidden());
		}
	}
Fails because you cannot create a second root object.
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/target/DBTraceObjectManagerTest.java