Einsender Capybara James schickte The Daily WTF ein kleines Java-Snippet: Nachdem geprüft wurde, dass dto.getAssetModelUUID() eine Länge hat (neben weiteren Bedingungen), gibt der Code Optional.ofNullable(dto) zurück — obwohl dto gerade dereferenziert wurde und daher erwiesenermaßen nicht null sein kann.

Für sich genommen ist die Zeile eher hässlich als fatal: Sie verzichtet auf den syntaktischen Zucker und verpackt einen Wert, der keinen Nullable-Wrapper braucht. Das eigentliche Problem ist der Kontext. Das Muster zieht sich durch die gesamte Codebasis, und selbst Methoden, die nie nullable Typen zurückgeben, verpacken und entpacken Optionals. Optional ist zum Talisman geworden, der Null-Referenz-Exceptions abwehren soll.

Funktioniert der Zauber? Nicht wirklich — der Code bleibt fehleranfällig. Wird er je repariert? Wahrscheinlich nicht in diesem Leben.