public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        final HistoryElement that = (HistoryElement)o;

        return !(expression != null ? !expression.equals(that.expression) : that.expression != null);
    }
public boolean equals(Object o)