protected virtual void OnWriteStartHeader (XmlDictionaryWriter writer, MessageVersion version)
{
var dic = Constants.SoapDictionary;
XmlDictionaryString name, ns;
var prefix = Prefix ?? (Namespace.Length > 0 ? writer.LookupPrefix (Namespace) : String.Empty);
if (dic.TryLookup (Name, out name) && dic.TryLookup (Namespace, out ns))
writer.WriteStartElement (prefix, name, ns);
else
writer.WriteStartElement (prefix, this.Name, this.Namespace);
WriteHeaderAttributes (writer, version);
}