API refactorings (generalization T -> ? extends T where applicable; sorry for breakage)
added JSR305 annotations