code: private static int scanBaseTypeSignature(String string, int start) {
  		// need a minimum 1 char
  		if (start >= string.length()) {
  			throw new IllegalArgumentException();
  		}
  		char c = string.charAt(start);
  		if ("BCDFIJSVZ".indexOf(c) >= 0) { //$NON-NLS-1$
  			return start;
  		} else {
  			throw new IllegalArgumentException();
  		}
  	}
docs: Scans the given string for a base type signature starting at the given index
  and returns the index of the last character.
  <pre>
  BaseTypeSignature:
  <b>B</b> | <b>C</b> | <b>D</b> | <b>F</b> | <b>I</b>
  | <b>J</b> | <b>S</b> | <b>V</b> | <b>Z</b>
  </pre>
  Note that although the base type "V" is only allowed in method return types,
  there is no syntactic ambiguity. This method will accept them anywhere
  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 base type signature