To see this in action, create a Java file (the default one will do) and add the following functions:
public int[] myTestFunctionOne(){ return null; }
public String[] myTestFunctionTwo(){ return null; }
Save the file and check the generated tags. The second function will be correctly found, but another tag "String" will be generated, pointing to the same line. Autocompletion of the function name works fine, as does the parameter listing when the name is complete and you type "(".
If I get a chance over the weekend I'll take a look at the lexer. Remind me (and I really should remember this), is it based on ctags? ie. If I make a working patch, should I submit it to the ctags project?
Jon