/**
   * Add several local services to the service bundle. Adding services triggers a service-announce
   * by the local RVI node.
   *
   * @param serviceIdentifiers a list of service identifiers
   */
  public void addLocalServices(ArrayList<String> serviceIdentifiers) {
    for (String serviceIdentifier : serviceIdentifiers)
      mLocalServices.put(
          serviceIdentifier,
          new Service(serviceIdentifier, mDomain, mBundleIdentifier, mLocalNodeIdentifier));

    if (mNode != null) mNode.announceServices();
  }
  /**
   * Add a local service to the service bundle. Adding services triggers a service-announce by the
   * local RVI node.
   *
   * @param serviceIdentifier the identifier of the service
   */
  public void addLocalService(String serviceIdentifier) {
    if (!mLocalServices.containsKey(serviceIdentifier))
      mLocalServices.put(
          serviceIdentifier,
          new Service(serviceIdentifier, mDomain, mBundleIdentifier, mLocalNodeIdentifier));

    if (mNode != null) mNode.announceServices();
  }
  /**
   * Removes all the local services from the service bundle. Removing services triggers a
   * service-announce by the local RVI node.
   */
  public void removeAllLocalServices() {
    mLocalServices.clear();

    if (mNode != null) mNode.announceServices();
  }
  /**
   * Remote a local service from the service bundle. Removing services triggers a service-announce
   * by the local RVI node.
   *
   * @param serviceIdentifier the identifier of the service
   */
  public void removeLocalService(String serviceIdentifier) {
    mLocalServices.remove(serviceIdentifier);

    if (mNode != null) mNode.announceServices();
  }