code: public void addBlocksToDelete(List<Long> blocks) {
      for (long id : blocks) {
        if (mRemovingBlocks.contains(id)) {
          LOG.debug("{} is being removed. Current queue size is {}.", id, mBlocksToRemove.size());
          continue;
        }
        try {
          mBlocksToRemove.put(id);
          mRemovingBlocks.add(id);
        } catch (InterruptedException e) {
          Thread.currentThread().interrupt();
          LOG.warn("AsyncBlockRemover got interrupted while it was putting block {}.", id);
        }
      }
    }
docs: Put blocks into async block remover. This method will take care of the duplicate blocks.
  @param blocks blocks to be deleted