@Override
    public final boolean equals(Object obj) {
        if (this == obj) return true;
        else if (obj == null) return false;
        else if (getClass() != obj.getClass()) return false;
        
        final Option other = (Option) obj;
        return Objects.equals(this.key, other.getKey())
            && Objects.equals(this.value, other.getValue());
    }
Abstract base class for different types of {@link Option} implementations.

@author  Emil Forslund
@since   1.0.0
common-parent/rest/src/main/java/com/speedment/common/rest/AbstractOption.java