class Builder {

        public final DistributedResultRequest innerRequest;

        public Builder(UUID jobId, int executionPhaseId, byte inputId, int bucketIdx, Throwable throwable, boolean isKilled) {
            this.innerRequest = new DistributedResultRequest(jobId, executionPhaseId, inputId, bucketIdx, throwable, isKilled);
        }

        public NodeRequest<DistributedResultRequest> build(String nodeId) {
            return new NodeRequest<>(nodeId, innerRequest);
        }
    }

    public static NodeRequest<DistributedResultRequest> of(String nodeId,
                                                           UUID jobId,
                                                           int executionPhaseId,
                                                           byte inputId,
                                                           int bucketIdx,
                                                           StreamBucket rows,
                                                           boolean isLast) {<FILL_FUNCTION_BODY>

        return new NodeRequest<>(
            nodeId,
            new DistributedResultRequest(jobId, executionPhaseId, inputId, bucketIdx, rows, isLast)
        );
    
<methods>public void <init>() ,public void <init>(org.elasticsearch.common.io.stream.StreamInput) throws java.io.IOException,public org.elasticsearch.tasks.TaskId getParentTask() ,public void setParentTask(org.elasticsearch.tasks.TaskId) ,public void writeTo(org.elasticsearch.common.io.stream.StreamOutput) throws java.io.IOException<variables>private org.elasticsearch.tasks.TaskId parentTaskId