@Override
	public void visitType(Decl.Type decl, Set<QualifiedName> visited) {
		QualifiedName name = decl.getQualifiedName();
		if (visited.contains(name)) {
			// recursive type detected!!!
			decl.setRecursive();
		} else {
			visited.add(name);
			visitType(decl.getType(), visited);
			visited.remove(name);
		}
	}
@ Override public void visitType ( Decl . Type decl , Set < QualifiedName > visited ) { QualifiedName name = decl . getQualifiedName ( ) ; if ( visited . contains ( name ) ) { decl . setRecursive ( ) ; } else { visited . add ( name ) ; visitType ( decl . getType ( ) , visited ) ; visited . remove ( name ) ; } }
===========================================================================