Translated to Java 8, added some lambda's
Minor code enhancements