Adding Java 8 implementation