internal static Encoder GetThreadStatic(this Encoder nonDefault) { if (nonDefault != null) { nonDefault.Reset(); return(nonDefault); } var encoder = _perThreadEncoder; if (encoder == null) { _perThreadEncoder = encoder = DefaultEncoding.GetEncoder(); } else { encoder.Reset(); } return(encoder); }