public void ToTextWriter( TextWriter w, string prefix ) { StringWriter sw = w as StringWriter; StringBuilder b = sw != null ? sw.GetStringBuilder() : new StringBuilder(); ToStringBuilder( b, prefix ); if( sw == null ) w.Write( b.ToString() ); }