Existenzprüfung bei findAncestorModel

Ich habe mich etwas mit der Plugin-Entwicklung beschäftigt und festgestellt, dass in Fällen wie dem Discourse-Translator nach dem Abrufen eines Widget-Modells über findAncestorModel() geprüft wird, ob das Ergebnis existiert, bevor weitergemacht wird. Das sehe ich auch im Quellcode, Beispiel:

  _getTopicUrl() {
    const post = this.findAncestorModel();
    return post ? post.get("topic.url") : null;
  },

Aber es gibt auch Fälle, in denen nicht auf die Existenz des Vorfahrenmodells geprüft wird, ein paar Zeilen weiter unten:

      const post = this.findAncestorModel();
      const controller = this.register.lookup("controller:topic");
      return post
        .get("topic.postStream")
        .filterUpwards(this.attrs.id)
        .then(() => {
          controller.updateQueryParams();
        });

Wie zuverlässig ist das Vorhandensein des Ergebnisses von findAncestorModel? Hängt das vom jeweiligen Widget ab, oder ist es gute Praxis, immer mit einer Null-Antwort umzugehen, selbst in Situationen, in denen dies sehr unwahrscheinlich erscheint, wie etwa im Post-Menü?