code: @Override
  	public SchemaDefinition readSchema() {
  
  		SchemaRepresentation representation = template
  				.execute(solrClient -> new SchemaRequest().process(solrClient, collection).getSchemaRepresentation());
  
  		SchemaDefinition sd = new SchemaDefinition(collection);
  
  		for (Map<String, Object> fieldValueMap : representation.getFields()) {
  			sd.addFieldDefinition(FieldDefinition.fromMap(fieldValueMap));
  		}
  		for (Map<String, Object> fieldValueMap : representation.getCopyFields()) {
  
  			CopyFieldDefinition cf = CopyFieldDefinition.fromMap(fieldValueMap);
  			sd.addCopyField(cf);
  
  			if (sd.getFieldDefinition(cf.getSource()) != null) {
  				sd.getFieldDefinition(cf.getSource()).setCopyFields(cf.getDestination());
  			}
  		}
  
  		return sd;
  	}
docs: /*
  (non-Javadoc)
  @see org.springframework.data.solr.core.schema.SchemaOperations#readSchema()