docs: public void refreshDataCenterInfoIfRequired() {
          String existingAddress = instanceInfo.getHostName();
  
          String existingSpotInstanceAction = null;
          if (instanceInfo.getDataCenterInfo() instanceof AmazonInfo) {
              existingSpotInstanceAction = ((AmazonInfo) instanceInfo.getDataCenterInfo()).get(AmazonInfo.MetaDataKey.spotInstanceAction);
          }
  
          String newAddress;
          if (config instanceof RefreshableInstanceConfig) {
              // Refresh data center info, and return up to date address
              newAddress = ((RefreshableInstanceConfig) config).resolveDefaultAddress(true);
          } else {
              newAddress = config.getHostName(true);
          }
          String newIp = config.getIpAddress();
  
          if (newAddress != null && !newAddress.equals(existingAddress)) {
              logger.warn("The address changed from : {} => {}", existingAddress, newAddress);
              updateInstanceInfo(newAddress, newIp);
          }
  
          if (config.getDataCenterInfo() instanceof AmazonInfo) {
              String newSpotInstanceAction = ((AmazonInfo) config.getDataCenterInfo()).get(AmazonInfo.MetaDataKey.spotInstanceAction);
              if (newSpotInstanceAction != null && !newSpotInstanceAction.equals(existingSpotInstanceAction)) {
                  logger.info(String.format("The spot instance termination action changed from: %s => %s",
                          existingSpotInstanceAction,
                          newSpotInstanceAction));
                  updateInstanceInfo(null , null );
              }
          }        
      }