java 8 and Optional return value introduced