private ResultCode setIcons(Object data) {
    Bitmap[] icons = null;
    int iconIndex = 0;

    if (data == null) {
      if (mloadIcon) {
        CatLog.d(this, "Optional Icon data is NULL");
        mCmdParams.loadIconFailed = true;
        mloadIcon = false;
        /**
         * In case of icon load fail consider the * received proactive command as valid (sending
         * RESULT OK)
         */
        return ResultCode.OK;
      }
      return ResultCode.PRFRMD_ICON_NOT_DISPLAYED;
    }
    switch (mIconLoadState) {
      case LOAD_SINGLE_ICON:
        mCmdParams.setIcon((Bitmap) data);
        break;
      case LOAD_MULTI_ICONS:
        icons = (Bitmap[]) data;
        // set each item icon.
        for (Bitmap icon : icons) {
          mCmdParams.setIcon(icon);
          if (icon == null && mloadIcon) {
            CatLog.d(this, "Optional Icon data is NULL while loading multi icons");
            mCmdParams.loadIconFailed = true;
          }
        }
        break;
    }
    return ResultCode.OK;
  }