public function resolveResponseContentType(XmlDeserializationVisitor $visitor, $data, array $type, Context $context)
 {
     $operation = $visitor->getCurrentObject()->getHead()->getOperation();
     switch ($operation) {
         case OperationType::OPERATION_PAYMENT_INIT:
             $type['name'] = 'PHPCommerce\\Vendor\\RatePAY\\Service\\Payment\\Type\\Response\\PaymentInitResponseType';
             return $context->accept($data, $type);
             break;
         case OperationType::OPERATION_PAYMENT_REQUEST:
             $type['name'] = 'PHPCommerce\\Vendor\\RatePAY\\Service\\Payment\\Type\\Response\\PaymentRequestResponseType';
             return $context->accept($data, $type);
             break;
         case OperationType::OPERATION_PAYMENT_CONFIRM:
             $type['name'] = 'PHPCommerce\\Vendor\\RatePAY\\Service\\Payment\\Type\\Response\\PaymentConfirmResponseType';
             return $context->accept($data, $type);
             break;
         case OperationType::OPERATION_PAYMENT_CHANGE:
             $type['name'] = 'PHPCommerce\\Vendor\\RatePAY\\Service\\Payment\\Type\\Response\\PaymentChangeResponseType';
             return $context->accept($data, $type);
             break;
         case OperationType::OPERATION_CONFIRMATION_DELIVER:
             $type['name'] = 'PHPCommerce\\Vendor\\RatePAY\\Service\\Payment\\Type\\Response\\ConfirmationDeliverResponseType';
             return $context->accept($data, $type);
             break;
         case OperationType::OPERATION_CONFIGURATION_REQUEST:
             $type['name'] = 'PHPCommerce\\Vendor\\RatePAY\\Service\\Payment\\Type\\Response\\ConfigurationResponseType';
             return $context->accept($data, $type);
             break;
         default:
             throw new RuntimeException("Unknown Operation: " . $operation);
             break;
     }
 }