class DeleteRequests implements ShardRequestExecutor.RequestGrouper<ShardDeleteRequest> {

        private final UUID jobId;
        private final TimeValue requestTimeout;

        DeleteRequests(UUID jobId, TimeValue requestTimeout) {
            this.jobId = jobId;
            this.requestTimeout = requestTimeout;
        }

        @Override
        public ShardDeleteRequest newRequest(ShardId shardId) {
            ShardDeleteRequest request = new ShardDeleteRequest(shardId, jobId);
            request.timeout(requestTimeout);
            return request;
        }

        @Override
        public void bind(Row parameters, SubQueryResults subQueryResults) {
        }

        @Override
        public void addItem(ShardDeleteRequest request,
                            int location,
                            String id,
                            long version,
                            long seqNo,
                            long primaryTerm) {<FILL_FUNCTION_BODY>}
    }

            ShardDeleteRequest.Item item = new ShardDeleteRequest.Item(id);
            item.version(version);
            item.seqNo(seqNo);
            item.primaryTerm(primaryTerm);
            request.add(location, item);
        
<no_super_class>