code: public static TypeVariableToken of(TypeDescription.Generic typeVariable, ElementMatcher<? super TypeDescription> matcher) {
          return new TypeVariableToken(typeVariable.getSymbol(),
                  typeVariable.getUpperBounds().accept(new TypeDescription.Generic.Visitor.Substitutor.ForDetachment(matcher)),
                  typeVariable.getDeclaredAnnotations());
      }
docs: Transforms a type variable into a type variable token with its bounds detached.
  
  @param typeVariable A type variable in its attached state.
  @param matcher      A matcher that identifies types to detach from the upper bound types.
  @return A token representing the detached type variable.