docs: public Type getGenericParameterType() {
          if (this.genericParameterType == null) {
              if (this.parameterIndex < 0) {
                  this.genericParameterType = (this.method != null ? this.method.getGenericReturnType() : null);
              } else {
                  this.genericParameterType = (this.method != null ? this.method.getGenericParameterTypes()[this.parameterIndex]
                          : this.constructor.getGenericParameterTypes()[this.parameterIndex]);
              }
          }
          return this.genericParameterType;
      }