docs: private TypeArgSignature parseTypeArg() {
  		int ch = peekChar();
  		switch (ch) {
  		case '*':
  			return new TypeArgSignature(
  					(char) nextChar(TypeArgSignature.UNBOUNDED_WILDCARD), null);
  		case '+':
  			return new TypeArgSignature(
  					(char) nextChar(TypeArgSignature.UPPERBOUND_WILDCARD),
  					parseFieldTypeSignature());
  		case '-':
  			return new TypeArgSignature(
  					(char) nextChar(TypeArgSignature.LOWERBOUND_WILDCARD),
  					parseFieldTypeSignature());
  		default:
  			return new TypeArgSignature(TypeArgSignature.NO_WILDCARD,
  					parseFieldTypeSignature());
  		}
  	}