code: static int scanTypeArgumentSignature(String string, int start) {
  		// need a minimum 1 char
  		if (start >= string.length()) {
  			throw new IllegalArgumentException();
  		}
  		char c = string.charAt(start);
  		switch (c) {
  			case C_STAR :
  				return start;
  			case C_EXTENDS :
  			case C_SUPER :
  				return scanTypeBoundSignature(string, start);
  			default :
  				return scanTypeSignature(string, start);
  		}
  	}
docs: Scans the given string for a type argument signature starting at the given
  index and returns the index of the last character.
  <pre>
  TypeArgumentSignature:
  <b>&#42;</b>
  |  <b>+</b> TypeSignature
  |  <b>-</b> TypeSignature
  |  TypeSignature
  </pre>
  Note that although base types are not allowed in type arguments, there is
  no syntactic ambiguity. This method will accept them without complaint.
  
  @param string the signature string
  @param start the 0-based character index of the first character
  @return the 0-based character index of the last character
  @exception IllegalArgumentException if this is not a type argument signature