code: void removeReceivedBlocks(Block[] removeList) {
      long start = AvatarDataNode.now();
      synchronized(receivedAndDeletedBlockList) {
        ReceivedBlockInfo block = new ReceivedBlockInfo();
        block.setDelHints(ReceivedBlockInfo.WILDCARD_HINT);
        for (Block bi : removeList) {
          block.set(bi.getBlockId(), bi.getNumBytes(), bi.getGenerationStamp());
          while (receivedAndDeletedBlockList.remove(block)) {
            LOG.info("Block deletion command deleted from receivedDeletedBlockList " +
                     bi);
          }
        }
      }
      long stop = AvatarDataNode.now();
      LOG.info("Pruning blocks from the received list took " + (stop - start)
          + "ms for: " + removeList.length + "blocks, queue length: "
          + receivedAndDeletedBlockList.size());
    }
docs: Remove blocks from blockReceived queues