@Override
  public void loadState(@NotNull RemoteServersManagerState state) {
    myUnknownServers.clear();
    myServers.clear();

    List<CloudConfigurationBase<?>> needsMigration = new LinkedList<>();
    for (RemoteServerState server : state.myServers) {
      ServerType<?> type = findServerType(server.myTypeId);
      if (type == null) {
        myUnknownServers.add(server);
      }
      else {
        RemoteServer<? extends ServerConfiguration> nextServer = createConfiguration(type, server);
        myServers.add(nextServer);
        ServerConfiguration nextConfig = nextServer.getConfiguration();
        if (nextConfig instanceof CloudConfigurationBase && ((CloudConfigurationBase<?>)nextConfig).shouldMigrateToPasswordSafe()) {
          needsMigration.add((CloudConfigurationBase<?>)nextConfig);
        }
      }
    }

    if (!needsMigration.isEmpty()) {
      ApplicationManager.getApplication().invokeLater(() -> {
        for (CloudConfigurationBase nextConfig : needsMigration) {
          nextConfig.migrateToPasswordSafe();
        }
      });
    }
  }
@Override
  public void loadState(@NotNull RemoteServersManagerState state)