@Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final MirroringTask other = (MirroringTask) obj;
        if (!Objects.equals(this.id, other.id)) {
            return false;
        }
        if (!Objects.equals(this.name, other.name)) {
            return false;
        }
        if (!Objects.equals(this.masterDirPath, other.masterDirPath)) {
            return false;
        }
        if (!Objects.equals(this.backupDirPath, other.backupDirPath)) {
            return false;
        }
        if (!Objects.equals(this.lastExecuted, other.lastExecuted)) {
            return false;
        }
        if (this.auto != other.auto) {
            return false;
        }
        if (this.resultType != other.resultType) {
            return false;
        }
        return true;
    }