BitsetsNET.RLEBitset.GetRange C# (CSharp) Method

GetRange() private method

private GetRange ( int start, int end ) : List
start int
end int
return List
        private List<Run> GetRange(int start, int end)
        {
            List<Run> range = new List<Run>();
            for (int i = 0; i < runArray.Count; i++)
            {
                if(runArray[i].StartIndex >= start && runArray[i].EndIndex <= end)
                {
                    range.Add(runArray[i]);
                }
                else if(runArray[i].StartIndex < start && runArray[i].EndIndex <= end)
                {
                    range.Add(new Run(start, runArray[i].EndIndex));
                }
                else if(runArray[i].StartIndex < start && runArray[i].EndIndex > end)
                {
                    range.Add(new Run(start, end));
                    break;
                }
                else if(runArray[i].StartIndex >= start && runArray[i].EndIndex > end)
                {
                    range.Add(new Run(runArray[i].StartIndex, end));
                    break;
                }
            }

            return range;
        }