public static RemoveRedundantAsyncAwaitWalker GetInstance(TextSpan span, bool stopOnFirstAwaitExpression = false)
        {
            RemoveRedundantAsyncAwaitWalker walker = _cachedInstance;

            if (walker != null)
            {
                _cachedInstance = null;
                walker.Clear();
            }
            else
            {
                walker = new RemoveRedundantAsyncAwaitWalker();
            }

            walker.SetValues(span: span, stopOnFirstAwaitExpression: stopOnFirstAwaitExpression);

            return(walker);
        }
 public static void Free(RemoveRedundantAsyncAwaitWalker walker)
 {
     walker.Clear();
     _cachedInstance = walker;
 }