public function createException(\Exception $e, $soapFunction, $input)
    {
        if (! ($e instanceof ExecutorException)) {
            return $e;
        }

        $e = $e->getPrevious();
        if ($e instanceof \SoapFault) {
            switch ($e->faultcode) {
                default:
                    throw InvalidInputDataException::createExceptionFromSoapFault($e);
            }
        }

        return $e;
    }