@Test
	public void testCleanWithExisting1() {

		DataTypeManager dtm = program.getDataTypeManager();
		DataOrganization dataOrganization = dtm.getDataOrganization();

		dtm.resolve(structC, null);

		try (DataTypeCleaner dtCleaner = new DataTypeCleaner(program.getDataTypeManager(), false)) {

			Structure cleanC = (Structure) dtCleaner.clean(structC);
			assertEquals(structC.getCategoryPath(), cleanC.getCategoryPath());
			assertEquals(structC.getName(), cleanC.getName());
			assertEquals(structC.getDescription(), cleanC.getDescription());
			assertTrue(cleanC.isNotYetDefined());

			Pointer ptr = new PointerDataType(structC);
			Pointer cleanPtr = (Pointer) dtCleaner.clean(ptr);
			assertEquals(dataOrganization.getPointerSize(), cleanPtr.getLength());
			DataType dt = cleanPtr.getDataType();
			assertTrue(dt instanceof Structure);
			assertEquals(structC.getCategoryPath(), dt.getCategoryPath());
			assertEquals(structC.getName(), dt.getName());

		}
	}
/structC
pack()
Structure structC {
   0   char   1   c0   ""
   4   structB   12   c1   ""
}
Size = 16   Actual Alignment = 4
Ghidra/Test/IntegrationTest/src/test/java/ghidra/program/util/DataTypeCleanerTest.java