protected override bool Equals(SongObject b)
 {
     if (b.GetType() == typeof(Note))
     {
         Note realB = b as Note;
         if (tick == realB.tick && rawNote == realB.rawNote)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(base.Equals(b));
     }
 }
        protected override bool LessThan(SongObject b)
        {
            if (b.GetType() == typeof(Note))
            {
                Note realB = b as Note;
                if (tick < b.tick)
                {
                    return(true);
                }
                else if (tick == b.tick)
                {
                    if (rawNote < realB.rawNote)
                    {
                        return(true);
                    }
                }

                return(false);
            }
            else
            {
                return(base.LessThan(b));
            }
        }