@Override
    protected Boolean doInBackground(LabelRemoveRequest... requests) {
      if (requests == null || requests.length != 1) {
        throw new IllegalArgumentException("Remove task supports only single Label removals.");
      }

      mRequest = requests[0];

      LogUtils.log(
          this,
          Log.VERBOSE,
          "Spawning new LabelRemoveTask(%d) for label: %s",
          hashCode(),
          mRequest.getLabel());

      final Label label = mRequest.getLabel();
      return label != null && label.getId() != Label.NO_ID && mClient.deleteLabel(label);
    }
    @Override
    protected void onPostExecute(Boolean result) {
      LogUtils.log(
          this, Log.VERBOSE, "LabelRemoveTask(%d) complete.  Removed: %s.", hashCode(), result);

      if (result) {
        sendCacheRefreshIntent(mRequest.getLabel().getPackageName());
      }

      super.onPostExecute(result);
    }