@Override
    public boolean equals(Object obj) {
        if (obj == null || !(obj instanceof Tag)) {
            return false;
        }
        Tag o = (Tag) obj;
        if (getId() != o.getId()) {
            return false;
        }
        if (name == null && o.name != null || name != null && o.name == null) {
            return false;
        }
        if (name != null && !name.equals(o.name)) {
            return false;
        }
        return true;
    }