### Question:
TypeVariableToken implements ByteCodeElement.Token<TypeVariableToken> { public TypeVariableToken accept(TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor) { return new TypeVariableToken(symbol, getBounds().accept(visitor), annotations); } TypeVariableToken(String symbol, List<? extends TypeDescription.Generic> bounds);  TypeVariableToken(String symbol, List<? extends TypeDescription.Generic> bounds, List<? extends AnnotationDescription> annotations); static TypeVariableToken of(TypeDescription.Generic typeVariable, ElementMatcher<? super TypeDescription> matcher); String getSymbol(); TypeList.Generic getBounds(); AnnotationList getAnnotations(); TypeVariableToken accept(TypeDescription.Generic.Visitor<? extends TypeDescription.Generic> visitor); @Override @CachedReturnPlugin.Enhance int hashCode(); @Override boolean equals(Object other); @Override String toString();  }### Answer:
@Test public void testVisitor() throws Exception { assertThat(new TypeVariableToken(FOO, Collections.singletonList(bound)).accept(visitor), is(new TypeVariableToken(FOO, Collections.singletonList(visitedBound)))); }