code: private void registerStatus(MtasSolrStatus solrStatus) throws IOException {
  		if (requestHandler != null) {
  			Map<String, ShardStatus> shards = solrStatus.getShards();
  			if (shards != null) {
  				Status status = solrStatus.status();
  				status.numberDocumentsTotal = Long.valueOf(0);
  				status.numberSegmentsTotal = 0;
  				for (Entry<String, ShardStatus> entry : shards.entrySet()) {
  					// get shard info
  					ShardInformation shardInformation = requestHandler.getShardInformation(entry.getKey());
  					if (shardInformation == null) {
  						throw new IOException("no shard information " + entry.getKey());
  					}
  					ShardStatus shardStatus = entry.getValue();
  					shardStatus.name = shardInformation.name;
  					shardStatus.location = entry.getKey();
  					shardStatus.mtasHandler = shardInformation.mtasHandler;
  					shardStatus.numberDocumentsTotal = shardInformation.numberOfDocuments;
  					shardStatus.numberSegmentsTotal = shardInformation.numberOfSegments;
  					status.numberDocumentsTotal += shardInformation.numberOfDocuments;
  					status.numberSegmentsTotal += shardInformation.numberOfSegments;
  				}
  			}
  			requestHandler.registerStatus(solrStatus);
  		}
  	}
docs: Register status.
  
  @param solrStatus
  the solr status
  @throws IOException
  Signals that an I/O exception has occurred.