@Test
	public void testNoCyclicDependencyProblemForTypedefPointer() {
		TypeDef typeDef = createTypeDef(struct);
		Pointer typedefPointer = createPointer(typeDef, 4);
		try {
			struct.add(typedefPointer);
		}
		catch (IllegalArgumentException e) {
			Assert.fail(
				"Should be able to add a structure typedef pointer to the pointer's structure.");
		}
		try {
			struct.insert(0, typedefPointer);
		}
		catch (IllegalArgumentException e) {
			Assert.fail(
				"Should be able to insert a structure typedef pointer into the pointer's structure.");
		}
		try {
			struct.replace(0, typedefPointer, typedefPointer.getLength());
		}
		catch (IllegalArgumentException e) {
			Assert.fail(
				"Should be able to replace a structure component with the structure's typedef pointer.");
		}
		Pointer p = (Pointer) struct.getComponent(0).getDataType();
		TypedefDataType dataType = (TypedefDataType) p.getDataType();
		assertEquals(dataType, typeDef);
		assertEquals(dataType.getBaseDataType(), struct);
	}
Test that a structure can contain a pointer in it to a typedef of the same structure.
Ghidra/Features/Base/src/test/java/ghidra/program/model/data/StructureDataTypeTest.java