@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof AbstractFlowerPackaging)) {
            return false;
        }

        AbstractFlowerPackaging other = (AbstractFlowerPackaging) o;

        if (id != other.id) {
            return false;
        }
        if (Double.compare(other.price, price) != 0) {
            return false;
        }
        return !(material != null ? !material.equals(other.material) : other.material != null);

    }