private static bool TryReadInt(SafeReader reader, out int step)
        {
            if (!reader.IsEmpty)
            {
                var a = reader.Current;

                if (a >= '0' && a <= '9')
                {
                    reader.MoveNext();
                    step = a - '0';

                    if (!reader.IsEmpty)
                    {
                        var b = reader.Current;
                        if (b >= '0' && b <= '9')
                        {
                            reader.MoveNext();
                            step = (step * 10) + (b - '0');
                        }
                    }

                    return(true);
                }
            }

            step = 0;
            return(false);
        }