protected void fireAvailableItemsChanged(final Set<ItemDescription> items) {
    logger.info("Available items changed");

    // first clear out the old items
    this.itemsFactory.disposeAllItems();

    // bulk add the new items
    final FolderCommon folder = this.itemsFactory.getFolder();

    final Map<String, DataItemInformation> addItems = new HashMap<String, DataItemInformation>();
    for (final ItemDescription item : items) {
      addItems.put(
          item.getId(),
          new DataItemInformationBase(
              this.itemManager.createItemId(item.getId()), EnumSet.allOf(IODirection.class)));
    }

    // perform the add
    folder.add(null, addItems);
  }