protected function checkEmptyRequiredParamsFor(
        $transactionType,
        $customRequiredParam,
        $txnParameters = []
    ) {
        if (CommonUtils::isArrayKeyExists($customRequiredParam, $txnParameters) &&
            !empty($txnParameters[$customRequiredParam])
        ) {
            return;
        }

        foreach ($txnParameters as $parameter) {
            if (CommonUtils::isArrayKeyExists($customRequiredParam, $parameter) &&
                !empty($parameter[$customRequiredParam])
            ) {
                return;
            }
        }

        throw new \Genesis\Exceptions\ErrorParameter(
            sprintf(
                'Empty (null) required parameter: %s for transaction type %s',
                $customRequiredParam,
                $transactionType
            )
        );
    }