add java8 of Optional