@Override
        public List<String> visitDeclared(DeclaredType t, Boolean p) {
            List<String> rv = visitBase(t);
            for (TypeMirror arg : t.getTypeArguments()) {
                if (p) {
                    rv.addAll(visit(arg, false));
                } else {
                    rv.add(arg.toString());
                }
            }
            return rv;
        }
{@code ExtendedTypeFactory} is a factory for APT-based inspection {@link Type} creation

@author tiwe
querydsl-apt/src/main/java/com/querydsl/apt/ExtendedTypeFactory.java