void WriteCheckedString (string s)
{
int i = XmlChar.IndexOfInvalid (s, true);
if (i >= 0) {
char [] arr = s.ToCharArray ();
writer.Write (arr, 0, i);
WriteCheckedBuffer (arr, i, arr.Length - i);
} else {
// no invalid character.
writer.Write (s);
}
}