public IntacctOperationResult ProcessResult(XElement resultElement)
        {
            // check operation status
            var success = resultElement.Element("status")?.Value == "success";

            if (!success)
            {
                var errorMessageElement = resultElement.Element("errormessage");
                return(IntacctOperationResult <T> .CreateFailure(ResponseParser.ParseErrors(errorMessageElement)));
            }

            // parse data
            var dataElement = resultElement.Element(_resultElementName);

            if (dataElement != null)
            {
                return(ProcessResponseData(dataElement));
            }

            // if OK to have an empty result, return default value
            if (_mayHaveEmptyResult)
            {
                return(new IntacctOperationResult <T>(default(T)));
            }

            throw new Exception($"Element {_resultElementName} was not found in response.");
        }
		internal void AddOperationResult(IntacctOperationResult result)
		{
			_operationResults.Add(result);
		}