public static UsePatternMatchingWalker GetInstance()
        {
            UsePatternMatchingWalker walker = _cachedInstance;

            if (walker != null)
            {
                _cachedInstance = null;
                walker.Clear();
                return(walker);
            }

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