@Override
  public void stop() {
    super.stop();
    for (FermatEventListener fermatEventListener : listenersAdded) {
      eventManager.removeListener(fermatEventListener);
    }
    listenersAdded.clear();

    agente.stop();
  }
  @Override
  public void stop() {

    /** I will remove all the event listeners registered with the event manager. */
    for (FermatEventListener fermatEventListener : listenersAdded) {
      eventManager.removeListener(fermatEventListener);
    }

    listenersAdded.clear();
    this.serviceStatus = ServiceStatus.STOPPED;
  }
  /**
   * (non-Javadoc)
   *
   * @see Service#stop()
   */
  @Override
  public void stop() {

    /*
     * Remove all the event listeners registered with the event manager.
     */
    for (FermatEventListener fermatEventListener : listenersAdded) {
      eventManager.removeListener(fermatEventListener);
    }

    /*
     * Clear the list
     */
    listenersAdded.clear();

    /*
     * Change the estatus
     */
    this.serviceStatus = ServiceStatus.STOPPED;
  }
  @Override
  public void stop() {

    // remove all listeners from the event manager and from the plugin.
    for (FermatEventListener listener : listenersAdded) eventManager.removeListener(listener);

    listenersAdded.clear();

    // close all connections.
    communicationNetworkServiceConnectionManager.closeAllConnection();

    // interrupt the registration agent execution
    communicationRegistrationProcessNetworkServiceAgent.stop();

    // interrupt the executor agent execution
    cryptoPaymentRequestExecutorAgent.stop();

    // set to not registered.
    register = Boolean.FALSE;

    this.serviceStatus = ServiceStatus.STOPPED;
  }
 private void removeRegisteredListeners() {
   for (FermatEventListener fermatEventListener : listenersAdded) {
     eventManager.removeListener(fermatEventListener);
   }
   listenersAdded.clear();
 }