Oracle Java Home Page
http://www.oracle.com/technetwork/java/index.html
Java 8 Optional for Null Pointer Exception
http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html
https://community.oracle.com/docs/DOC-991686
https://community.oracle.com/docs/DOC-920950
Creating Extensible Applications/Java Service Interface
https://docs.oracle.com/javase/tutorial/ext/basics/spi.html
https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html
http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html
Java Selector Pattern
https://forax.github.io/2014-01-27-8650156-the_selector_pattern.html