public CharArrayTextWriter Lease() { CharArrayTextWriter writer; if (_cache.TryPop(out writer)) { return(writer); } writer = _parent?.Lease(); if (writer != null) { return(writer); } return(new CharArrayTextWriter()); }