code: @Override
  	public void finishStage(ResponseBuilder rb) {
  		if (rb.req.getParams().getBool(MtasSolrSearchComponent.PARAM_MTAS, false)) {
  			if (rb.stage >= ResponseBuilder.STAGE_EXECUTE_QUERY && rb.stage < ResponseBuilder.STAGE_GET_FIELDS) {
  				for (ShardRequest sreq : rb.finished) {
  					if (sreq.params.getBool(MtasSolrSearchComponent.PARAM_MTAS, false)
  							&& sreq.params.getBool(PARAM_MTAS_VERSION, false)) {
  						for (ShardResponse shardResponse : sreq.responses) {
  							NamedList<Object> solrShardResponse = shardResponse.getSolrResponse().getResponse();
  							try {
  								SimpleOrderedMap<Object> data = (SimpleOrderedMap<Object>) solrShardResponse
  										.findRecursive(MtasSolrSearchComponent.NAME, NAME);
  								// create shardInfo
  								SimpleOrderedMap<Object> dataShard = new SimpleOrderedMap<>();
  								dataShard.add(NAME_MTAS_VERSION_SHARD, shardResponse.getShard());
  								dataShard.add(NAME, data.clone());
  								List<SimpleOrderedMap> dataShards = new ArrayList<>();
  								dataShards.add(dataShard);
  								// create main data
  								data.clear();
  								data.addAll(getVersion());
  								// add shardInfo
  								data.add(NAME_MTAS_VERSION_SHARDS, dataShards);
  							} catch (ClassCastException | IOException e) {
  								log.debug(e);
  								// shouldn't happen
  							}
  
  						}
  					}
  				}
  
  			}
  		}
  
  	}
docs: /*
  (non-Javadoc)
  
  @see
  mtas.solr.handler.component.util.MtasSolrComponent#finishStage(org.apache.
  solr.handler.component.ResponseBuilder)