@Override
  public Observable<Boolean> updateGroupList(List<GroupList> groupLists) {
    final Observable<Boolean> localResult = mGroupManageLocalDataSource.updateGroupList(groupLists);
    Observable<Boolean> remoteResult = mGroupManageRemoteDataSource.updateGroupList(groupLists);

    return remoteResult.flatMap(
        new Function<Boolean, Observable<Boolean>>() {
          @Override
          public Observable<Boolean> apply(Boolean isSuccess) {
            if (isSuccess) {
              return localResult;
            }
            return ObservableHelper.just(false);
          }
        });
  }