Support Java 8 and Guava Optional