code: public List<? extends TypeMirror> getBounds(TypeParameterElement tpe) {
          List<? extends TypeMirror> bounds = tpe.getBounds();
          if (!bounds.isEmpty()) {
              TypeMirror upperBound = bounds.get(bounds.size() - 1);
              if (ignoreBounds(upperBound)) {
                  return Collections.emptyList();
              }
          }
          return bounds;
      }
docs: /*
  a direct port of TypeVariable.getBounds