protected override void AnalyzeFile(InkFileInfo info)
        {
            if (m_Search.IsNullOrEmpty())
            {
                return;
            }

            CheckChanges();

            for (int i = 0; i < info.Lines.Length; i++)
            {
                string line = info.Lines[i];
                if (m_SearchRegex.IsMatch(line))
                {
                    string[] results = m_SearchRegex.Replace(line, m_Result).Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);

                    foreach (string result in results)
                    {
                        if (result == null)
                        {
                            Debug.LogWarning($"Missing item found in {m_Bucket.name}.", m_Bucket);
                            continue;
                        }
                        InkTodoCollection collection = GetOrAddCollection(result);
                        collection.Add(new Todo(info, i + 1, line));
                    }
                }
            }
        }