class StatsRequest extends TransportRequest {

        private final Set<ColumnIdent> columns;

        private StatsRequest(Set<ColumnIdent> columns) {
            this.columns = columns;
        }

        public Set<ColumnIdent> columnIdents() {
            return columns;
        }

        StatsRequest(StreamInput in) throws IOException {
            super(in);
            columns = new HashSet<>();
            int columnIdentsSize = in.readVInt();
            for (int i = 0; i < columnIdentsSize; i++) {
                columns.add(new ColumnIdent(in));
            }
        }

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

            super.writeTo(out);
            out.writeVInt(columns.size());
            for (ColumnIdent columnIdent : columns) {
                columnIdent.writeTo(out);
            }
        
<methods>public void <init>(java.lang.String, io.crate.execution.engine.collect.stats.NodeStatsRequest.StatsRequest) ,public void <init>(org.elasticsearch.common.io.stream.StreamInput) throws java.io.IOException,public io.crate.execution.engine.collect.stats.NodeStatsRequest.StatsRequest innerRequest() ,public java.lang.String nodeId() ,public void writeTo(org.elasticsearch.common.io.stream.StreamOutput) throws java.io.IOException<variables>private final non-sealed io.crate.execution.engine.collect.stats.NodeStatsRequest.StatsRequest innerRequest,private final non-sealed java.lang.String nodeId