@Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }

        if (!(obj instanceof Optional)) {
            return false;
        }

        Optional<?> other = (Optional<?>) obj;
        return Objects.equals(value, other.value);
    }
Indicates whether some other object is "equal to" this Optional. The
other object is considered equal if:
<ul>
<li>it is also an {@code Optional} and;
<li>both instances have no value present or;
<li>the present values are "equal to" each other via {@code equals()}.
</ul>

@param obj an object to be tested for equality
@return {code true} if the other object is "equal to" this object
otherwise {@code false}
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/util/Optional.java