public ResponseMetadata Unmarshall(XmlUnmarshallerContext context) { ResponseMetadata metadata = new ResponseMetadata(); int depth = context.CurrentDepth; while (depth <= context.CurrentDepth) { context.Read(); if (context.IsStartElement) { if (context.TestExpression("ResponseMetadata/RequestId")) { metadata.RequestId = StringUnmarshaller.GetInstance().Unmarshall(context); } else { metadata.Metadata.Add(context.CurrentPath.Substring(context.CurrentPath.LastIndexOf('/') + 1), StringUnmarshaller.GetInstance().Unmarshall(context)); } } } return(metadata); }