fixed warnings (mostly diamond operator related, some unused arguments
and some mislabeled arguments)
added some todo and javadoc