private static void getWildcardTypePackageNames(WildcardType type,
      Map<String, Class<?>> packageNames) {
    for (Type boundType : type.getUpperBounds()) {
      getTypePackageNames(boundType, packageNames);
    }

    for (Type boundType : type.getLowerBounds()) {
      getTypePackageNames(boundType, packageNames);
    }
  }
private static void getWildcardTypePackageNames ( WildcardType type , Map < String , Class < ? > > packageNames ) { for ( Type boundType : type . getUpperBounds ( ) ) { getTypePackageNames ( boundType , packageNames ) ; } for ( Type boundType : type . getLowerBounds ( ) ) { getTypePackageNames ( boundType , packageNames ) ; } }
Visits wildcard types to collect package names.

@see {@link #getTypeVariablePackageNames}.