code: func (r *PortAllocator) Restore(pr net.PortRange, data []byte) error {
  	if pr.String() != r.portRange.String() {
  		return ErrMismatchedNetwork
  	}
  	snapshottable, ok := r.alloc.(allocator.Snapshottable)
  	if !ok {
  		return fmt.Errorf("not a snapshottable allocator")
  	}
  	return snapshottable.Restore(pr.String(), data)
  }
docs: // Restore restores the pool to the previously captured state. ErrMismatchedNetwork
  // is returned if the provided port range doesn't exactly match the previous range.