@Override
 public void visitTypeArgument() {
   if (state != CLASS_TYPE) {
     throw new IllegalStateException();
   }
   if (sv != null) {
     sv.visitTypeArgument();
   }
 }
 @Override
 public SignatureVisitor visitTypeArgument(final char wildcard) {
   if (state != CLASS_TYPE) {
     throw new IllegalStateException();
   }
   if ("+-=".indexOf(wildcard) == -1) {
     throw new IllegalArgumentException();
   }
   SignatureVisitor v = sv == null ? null : sv.visitTypeArgument(wildcard);
   return new CheckSignatureAdapter(TYPE_SIGNATURE, v);
 }