/** Handles the events CompleteComponentRegistrationNotification */
  public void handleCompleteComponentRegistrationNotificationEvent(
      final PlatformComponentProfile platformComponentProfileRegistered) {

    /*
     * If the component registered have my profile and my identity public key
     */
    if (platformComponentProfileRegistered.getPlatformComponentType()
            == PlatformComponentType.NETWORK_SERVICE
        && platformComponentProfileRegistered.getNetworkServiceType()
            == NetworkServiceType.CRYPTO_PAYMENT_REQUEST
        && platformComponentProfileRegistered
            .getIdentityPublicKey()
            .equals(identity.getPublicKey())) {

      /*
       * Mark as register
       */
      this.register = Boolean.TRUE;

      try {

        cryptoPaymentRequestExecutorAgent =
            new CryptoPaymentRequestExecutorAgent(
                this,
                errorManager,
                eventManager,
                cryptoPaymentRequestNetworkServiceDao,
                wsCommunicationsCloudClientManager,
                getPluginVersionReference());

        cryptoPaymentRequestExecutorAgent.start();

      } catch (CantStartAgentException e) {

        CantStartPluginException pluginStartException =
            new CantStartPluginException(e, "", "Problem initializing crypto payment request dao.");
        errorManager.reportUnexpectedPluginException(
            this.getPluginVersionReference(),
            UnexpectedPluginExceptionSeverity.DISABLES_THIS_PLUGIN,
            pluginStartException);
      }
    }
  }