/**
   * Creates a NotificationAction control panel for the given objectPath <br>
   * The method should be used after establishment a session with a controllable device
   *
   * @param objectPath The object path to the created control panel
   * @return {@link ControlPanelCollection}
   * @throws ControlPanelException
   */
  public ControlPanelCollection createNotificationAction(String objectPath)
      throws ControlPanelException {

    if (sessionId == null) {
      throw new ControlPanelException(
          "The session wasn't established, can't create a ControlPanelCollection");
    }

    if (objectPath == null) {
      throw new ControlPanelException("Received an undefined objectPath");
    }

    Log.i(TAG, "Creating a NotificationAction control panel, objectPath: '" + objectPath + "'");

    String[] segments = CommunicationUtil.parseObjPath(objectPath);
    String unitId = segments[0];
    String panelName = segments[1];

    Unit unit = new Unit(this, unitId);
    ControlPanelCollection coll = unit.createControlPanelCollection(objectPath, panelName);
    coll.retrievePanels();
    coll.handleNotificationAction();

    return coll;
  } // addNotificationAction
 /**
  * Cleans the {@link ControlPanelCollection} that was created following the invocation of the
  * createNotificationAction() method. <br>
  * It's important to call this method after the NotificationAction control panel has been
  * completed
  *
  * @param panelCollection The {@link ControlPanelCollection} to be cleaned out
  */
 public void removeNotificationAction(ControlPanelCollection panelCollection) {
   panelCollection.getUnit().release();
 } // removeNotificationAction