class ShardDeleteRequest extends ShardRequest<ShardDeleteRequest, ShardDeleteRequest.Item> {

    private int skipFromLocation = -1;

    public ShardDeleteRequest(ShardId shardId, UUID jobId) {
        super(shardId, jobId);
    }

    void skipFromLocation(int location) {
        skipFromLocation = location;
    }

    int skipFromLocation() {
        return skipFromLocation;
    }

    @Override
    public void writeTo(StreamOutput out) throws IOException {<FILL_FUNCTION_BODY>}

    public ShardDeleteRequest(StreamInput in) throws IOException {
        super(in);
        int numItems = in.readVInt();
        if (numItems > 0) {
            items = new ArrayList<>(numItems);
            for (int i = 0; i < numItems; i++) {
                items.add(new ShardDeleteRequest.Item(in));
            }
        }
        if (in.readBoolean()) {
            skipFromLocation = in.readVInt();
        }
    }

    public static class Item extends ShardRequest.Item {

        public static final long SHALLOW_SIZE = RamUsageEstimator.shallowSizeOfInstance(Item.class);

        protected Item(StreamInput in) throws IOException {
            super(in);
        }

        public Item(String id) {
            super(id);
        }
    }
}

        super.writeTo(out);
        out.writeVInt(items.size());
        for (Item item : items) {
            item.writeTo(out);
        }
        if (skipFromLocation > -1) {
            out.writeBoolean(true);
            out.writeVInt(skipFromLocation);
        } else {
            out.writeBoolean(false);
        }
    
<methods>public void <init>(org.elasticsearch.index.shard.ShardId, java.util.UUID) ,public void <init>(org.elasticsearch.common.io.stream.StreamInput) throws java.io.IOException,public void add(int, io.crate.execution.dml.delete.ShardDeleteRequest.Item) ,public boolean equals(java.lang.Object) ,public int hashCode() ,public List<io.crate.execution.dml.delete.ShardDeleteRequest.Item> items() ,public Iterator<io.crate.execution.dml.delete.ShardDeleteRequest.Item> iterator() ,public java.util.UUID jobId() ,public long ramBytesUsed() ,public java.lang.String toString() ,public void writeTo(org.elasticsearch.common.io.stream.StreamOutput) throws java.io.IOException<variables>private static final long SHALLOW_SIZE,protected List<io.crate.execution.dml.delete.ShardDeleteRequest.Item> items,private final non-sealed java.util.UUID jobId