def _remove_batches(self, block, keep_batches):
        """Returns a copy of the block without the non-injected
        batches, which other validators are likely to already
        have. This reduces the size of the broadcasted block.
        """
        clone = Block()
        clone.header = block.header
        clone.header_signature = block.header_signature
        clone.batches.extend([
            batch for batch in block.batches
            if batch.header_signature in keep_batches
        ])
        return clone