LibiadaMusic.BorodaDivider.FmotivDivider.TempMethod C# (CSharp) Method

TempMethod() private static method

The temp method.
/// Thrown in different cases. ///
private static TempMethod ( Fmotiv fmotiv, Fmotiv fmotivBuffer ) : void
fmotiv Fmotiv /// The fmotiv. ///
fmotivBuffer Fmotiv /// The fmotiv buffer. ///
return void
        private static void TempMethod(Fmotiv fmotiv, Fmotiv fmotivBuffer)
        {
            if (fmotiv.NoteList[fmotiv.NoteList.Count - 1].Tie != Tie.None)
            {
                // если есть флаг начала лиги, то записываем в буфер все остальные лигованные ноты, пока не будет флага конца лиги
                if (fmotiv.NoteList[fmotiv.NoteList.Count - 1].Tie == Tie.Start)
                {
                    // TODO: желательно сделать проверку когда собирается очередная лига,
                    // не будет ли пуста цепь нот, до того как лига закончится (будет флаг конца лиги)
                    while (fmotivBuffer.NoteList[0].Tie == Tie.StartStop)
                    {
                        // пока продолжается лига, заносим ноты в буфер
                        fmotiv.NoteList.Add((ValueNote)fmotivBuffer.NoteList[0].Clone());
                        fmotivBuffer.NoteList.RemoveAt(0);
                    }

                    if (fmotivBuffer.NoteList[0].Tie == Tie.Stop)
                    {
                        // если есть флаг конца лиги у очередной ноты, то заносим конечную ноту лиги в буфер
                        fmotiv.NoteList.Add((ValueNote)fmotivBuffer.NoteList[0].Clone());
                        fmotivBuffer.NoteList.RemoveAt(0);
                    }
                    else
                    {
                        // когда лига не заканчивается флагом конца, то ошибка
                        throw new Exception("LibiadaMusic: FmotivDivider, wrong Tie organization!End!");
                    }
                }
                else
                {
                    // когда начинается лига не с флага начала, а с какого то другого, то ошибка
                    throw new Exception("LibiadaMusic: FmotivDivider, wrong Tie organization!Begining!");
                }
            }
        }