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

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

        NullableOptional<?> other = (NullableOptional<?>) obj;
        return this.isPresent == other.isPresent && Objects.equals(this.value, other.value);
    }
Indicates whether some other object is "equal to" this NullableOptional. The
other object is considered equal if:
<ul>
<li>it is also an {@code NullableOptional} 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}
helper/src/main/java/me/lucko/helper/utils/NullableOptional.java