text: public override IDictionary<string, SubmoduleStatus> Call(){CheckCallable();try{SubmoduleWalk generator = SubmoduleWalk.ForIndex(repo);if (!paths.IsEmpty()){generator.SetFilter(PathFilterGroup.CreateFromStrings(paths));}IDictionary<string, SubmoduleStatus> statuses = new Dictionary<string, SubmoduleStatus>();while (generator.Next()){SubmoduleStatus status = GetStatus(generator);statuses.Put(status.GetPath(), status);}return statuses;}catch (IOException e){throw new JGitInternalException(e.Message, e);}catch (ConfigInvalidException e){throw new JGitInternalException(e.Message, e);}}