private Item TryCall(Func <Item> targetFunction) { try { return(targetFunction()); } catch (InnovatorServerException e) { XmlDocument faultDocument = Innovator.newXMLDocument(); e.ToSoapFault(faultDocument); Item errorItem = NewItem(); errorItem.loadAML(faultDocument.OuterXml); return(errorItem); } }