@Override
    public Store copy() {
        Endpoint endpoint = null;
        if (this.endpoint != null) {
            endpoint = this.endpoint.copy();
        }
        List<Region> regions = null;
        if (this.regions != null) {
            regions = Lists.newArrayListWithCapacity(this.regions.size());
            for (Region region : this.regions) {
                regions.add(region.copy());
            }
        }
        List<StoreLabel> labels = null;
        if (this.labels != null) {
            labels = Lists.newArrayListWithCapacity(this.labels.size());
            for (StoreLabel label : this.labels) {
                labels.add(label.copy());
            }
        }
        return new Store(this.id, endpoint, this.state, regions, labels);
    }
A physical node in the cluster, embedded in an app java process,
store corresponds to a local file based rocksDB, a store contains
multiple regions, all regions share a rocksDB.

@author jiachun.fjc
jraft-rheakv/rheakv-core/src/main/java/com/alipay/sofa/jraft/rhea/metadata/Store.java