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

        FloralComposition that = (FloralComposition) o;

        if (!allFlowers.equals(that.allFlowers)) {
            return false;
        }
        if (name != null ? !name.equals(that.name) : that.name != null) {
            return false;
        }
        if (packaging != null ? !packaging.equals(that.packaging) : that.packaging != null) {
            return false;
        }

        return true;
    }