public override object GetOutput(Type type) { if (type == typeof(XmlNodeList) || type.IsSubclassOf(typeof(XmlNodeList))) { if (_inputNodeList == null) { _inputNodeList = NodeUtils.AllDescendantNodes(_containingDocument, true); } return((XmlNodeList)GetOutput()); } else if (type == typeof(XmlDocument) || type.IsSubclassOf(typeof(XmlDocument))) { if (_inputNodeList != null) { throw new ArgumentException(SR.Cryptography_Xml_TransformIncorrectInputType, nameof(type)); } return((XmlDocument)GetOutput()); } else { throw new ArgumentException(SR.Cryptography_Xml_TransformIncorrectInputType, nameof(type)); } }