code: @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);
  		}
  	}
docs: ===========================================================================