1) Currently, you just can change the type of a variable, for example, from "ArrayList" to "List", but you can't change it back to "ArrayList". Please also allow to make the type be more specific which helps, e.g., to split class hierarchies. The Type Refactoring plug-in provided such a functionality.
2) Allow to change the type parameter(s) of generic types, e.g., to change a variable of type "ArrayList" to "List extends Object>]]>" or other constellations which do not change the behaviour.
3) I did not figured out how to change the type of a method return value. Is it possible?