protected static function _getInstance($return, $secret)
    {
        switch (strtoupper($return['paymentState'])) {
            case parent::STATE_SUCCESS:
                return self::_getSuccessInstance($return, $secret);
                break;
            case parent::STATE_CANCEL:
                return new WirecardCEE_QMore_Return_Cancel($return);
                break;
            case parent::STATE_FAILURE:
                return new WirecardCEE_QMore_Return_Failure($return);
                break;
            case parent::STATE_PENDING:
                return new WirecardCEE_QMore_Return_Pending($return, $secret);
                break;
            default:
                throw new WirecardCEE_QMore_Exception_InvalidResponseException('Invalid response from QMORE. Unexpected paymentState: ' . $return['paymentState']);
                break;
        }
    }