Better idea:
Optional.ofNullable(foo).orElse(new Foo()) Optional.ofNullable(foo).orElse(new Foo())Although I'd rather creating objects if not needed to be easier on memory.
Optional.ofNullable(foo).orElseGet(Foo::new)
to avoid side effects from building a throwaway object.