protected function soapCall($action, $parameters = null)
    {
        // deep black magic
        $stfu = error_reporting();
        error_reporting(0);
        $response = $this->soap->$action($parameters);
        error_reporting($stfu);
        $response = \Metaclassing\Utility::encodeJson($response);
        $response = \Metaclassing\Utility::decodeJson($response);
        $this->log[] = [
                        'request' => [
                                    'action'     => $action,
                                    'parameters' => $parameters,
                                    //'xml' => \Metaclassing\Utility::xmlPrettyPrint($this->soap->__getLastRequest()),
                                    ],
                        'response' => [
                                    'response' => $response,
                                    //'xml' => \Metaclassing\Utility::xmlPrettyPrint( $this->soap->__getLastResponse() ),
                                    ],
                        ];

        return $response;
    }