It's fairly simple. I have a field for a list that may or may not be present (but that must be different from `null` as non-initialized), but while I can do

```
List<String> mylist = new ArrayList<>();

```

I cannot do

```
Optional<List<String>> mylist = Optional.of(new ArrayList<String>());

```

because the types don't match. This is unfortunate. I would not like to hard-wire my code to use ArrayList.

Is there a way around this?