The "unchecked or unsafe operations" warning was added when java added Generics, if I remember correctly. It's usually asking you to be more explicit about types, in one way or another.
For example. the code ArrayList foo = new ArrayList();
triggers that warning because javac is looking for ArrayList<String> foo = new ArrayList<String>();