code: @Override // Storage  
    protected void setFields(Properties props, StorageDirectory sd)
        throws IOException {
      super.setFields(props, sd);
      boolean uState = getDistributedUpgradeState();
      int uVersion = getDistributedUpgradeVersion();
      if (uState && uVersion != getLayoutVersion()) {
        props.setProperty("distributedUpgradeState", Boolean.toString(uState));
        props
            .setProperty("distributedUpgradeVersion", Integer.toString(uVersion));
      }
    }
docs: Write version file into the storage directory.
  
  The version file should always be written last.
  Missing or corrupted version file indicates that
  the checkpoint is not valid.
  
  @param sd storage directory
  @throws IOException