private List <ICSharpCode.TextEditor.Document.FoldMarker> GetFoldingsByStartAfterColumn(int lineNumber, int column, bool forceFolded)
        {
            List <ICSharpCode.TextEditor.Document.FoldMarker> foldMarkers = new List <ICSharpCode.TextEditor.Document.FoldMarker>();

            if (this.foldMarker != null)
            {
                int num = this.foldMarker.BinarySearch(new ICSharpCode.TextEditor.Document.FoldMarker(this.document, lineNumber, column, lineNumber, column), FoldingManager.StartComparer.Instance);
                if (num < 0)
                {
                    num = ~num;
                }
                while (num < this.foldMarker.Count)
                {
                    ICSharpCode.TextEditor.Document.FoldMarker item = this.foldMarker[num];
                    if (item.StartLine > lineNumber)
                    {
                        break;
                    }
                    if (item.StartColumn > column && (!forceFolded || item.IsFolded))
                    {
                        foldMarkers.Add(item);
                    }
                    num++;
                }
            }
            return(foldMarkers);
        }
        public List <ICSharpCode.TextEditor.Document.FoldMarker> GetFoldingsFromPosition(int line, int column)
        {
            List <ICSharpCode.TextEditor.Document.FoldMarker> foldMarkers = new List <ICSharpCode.TextEditor.Document.FoldMarker>();

            if (this.foldMarker != null)
            {
                for (int i = 0; i < this.foldMarker.Count; i++)
                {
                    ICSharpCode.TextEditor.Document.FoldMarker item = this.foldMarker[i];
                    if (item.StartLine == line && column > item.StartColumn && (item.EndLine != line || column < item.EndColumn) || item.EndLine == line && column < item.EndColumn && (item.StartLine != line || column > item.StartColumn) || line > item.StartLine && line < item.EndLine)
                    {
                        foldMarkers.Add(item);
                    }
                }
            }
            return(foldMarkers);
        }