@Override
    public boolean equals(final Object o) {
      if (this == o) {
        return true;
      }
      if (o == null) {
        return false;
      }
      if (getClass() != o.getClass()) {
        return false;
      }
      final Task that = (Task) o;
      if (name == null) {
        if (that.name != null) {
          return false;
        }
      } else if (!name.equals(that.name)) {
        return false;
      }
      return true;
    }