void (@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(); } }); } }