Make use of parametrised types where possible, to please the java compiler and to make it easier to find potential issues.