text: public Collection<String> call() throws GitAPIException {checkCallable();try (SubmoduleWalk generator = SubmoduleWalk.forIndex(repo)) {if (!paths.isEmpty())generator.setFilter(PathFilterGroup.createFromStrings(paths));StoredConfig config = repo.getConfig();List<String> initialized = new ArrayList<>();while (generator.next()) {if (generator.getConfigUrl() != null)continue;String path = generator.getPath();String name = generator.getModuleName();String url = generator.getRemoteUrl();String update = generator.getModulesUpdate();if (url != null)config.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION,name, ConfigConstants.CONFIG_KEY_URL, url);if (update != null)config.setString(ConfigConstants.CONFIG_SUBMODULE_SECTION,name, ConfigConstants.CONFIG_KEY_UPDATE, update);if (url != null || update != null)initialized.add(path);}if (!initialized.isEmpty())config.save();return initialized;} catch (IOException | ConfigInvalidException e) {throw new JGitInternalException(e.getMessage(), e);}}