class DeviceGroup implements Serializable {

  @Override
  public boolean equals(@Nullable Object obj) {
    if (this == obj) {
      return true;
    }
    if (!(obj instanceof DeviceGroup)) {
      return false;
    }
    DeviceGroup rhs = (DeviceGroup) obj;
    return Objects.equals(_autoSync, rhs._autoSync)
        && _devices.equals(rhs._devices)
        && Objects.equals(_hidden, rhs._hidden)
        && _name.equals(rhs._name)
        && Objects.equals(_networkFailover, rhs._networkFailover)
        && Objects.equals(_type, rhs._type);
  }

  private  DeviceGroup(
      @Nullable Boolean autoSync,
      Map<String, DeviceGroupDevice> devices,
      @Nullable Boolean hidden,
      String name,
      @Nullable Boolean networkFailover,
      @Nullable DeviceGroupType type);

}