use java 8 Optional instead of google guava Optional