AdvUtils.DictMatch.ResizeInfo C# (CSharp) Метод

ResizeInfo() приватный Метод

private ResizeInfo ( ) : int
Результат int
        private int ResizeInfo()
        {
            int nextentry = 0;
            int newpos = 0;
            int curde;
            int hsize;

            while (nextentry < seinfo.Count)
            {
                curde = seinfo[nextentry].backsepos;
                hsize = seinfo[nextentry].hashsize;

                if ((curde != DM_DENTRY_FIRST) && (curde >= dentry.Count))
                {
                    return -1;
                }
                if (((curde == DM_DENTRY_FIRST) && (entrance != nextentry))
                   || ((curde != DM_DENTRY_FIRST) && (dentry[curde].suffix_pos != nextentry)))
                {
                    nextentry++;
                }
                else
                {
                    if (nextentry != newpos)
                    {
                        seinfo[newpos] = seinfo[nextentry];
                        if (curde != DM_DENTRY_FIRST)
                        {
                            dentry[curde].suffix_pos = newpos;
                        }
                        else
                        {
                            entrance = newpos;
                        }
                    }
                    nextentry ++;
                    newpos ++;
                }
            }
            seinfo.RemoveRange(newpos, seinfo.Count - newpos);

            if (seinfo.Count > sebufsize / 2)
            {
                sebufsize *= 2;
            }
            return 1;
        }