docs: protected Type[] getUppermostTypeVariableBounds(TypeVariable<?> bound) {
          if (bound.getBounds()[0] instanceof TypeVariable<?>) {
              return getUppermostTypeVariableBounds((TypeVariable<?>) bound.getBounds()[0]);
          }
          return bound.getBounds();
      }