docs: public Type getNestedGenericParameterType() {
          if (this.nestingLevel > 1) {
              Type type = getGenericParameterType();
              for (int i = 2; i <= this.nestingLevel; i++) {
                  if (type instanceof ParameterizedType) {
                      Type[] args = ((ParameterizedType) type).getActualTypeArguments();
                      Integer index = getTypeIndexForLevel(i);
                      type = args[index != null ? index : args.length - 1];
                  }
              }
              return type;
          } else {
              return getGenericParameterType();
          }
      }