Have a look at org.eclipse.jdt.core.NamingConventions.suggestVariableNames(int, int, String, IJavaProject, int, String, boolean).
Not all of the fields will be relevant, and as we mentioned, there is no need to infer the type of the variable.
One thing that we didn't mention is that it is not a good idea to propose any names that are already in scope. However, as a first pass at this, let's not worry about it.
Lastly, we need to figure out how to hook this into the existing keybindings, but first get the basic working and then we will work on keybindings.