static CellAppearanceEx getCellAppearance(
     final ClasspathTableItem<?> item,
     final StructureConfigurableContext context,
     final boolean selected) {
   final OrderEntryAppearanceService service = OrderEntryAppearanceService.getInstance();
   if (item instanceof InvalidJdkItem) {
     return service.forJdk(null, false, selected, true);
   } else {
     final OrderEntry entry = item.getEntry();
     assert entry != null : item;
     return service.forOrderEntry(context.getProject(), entry, selected);
   }
 }
  private void removeSelectedItems(final List removedRows) {
    if (removedRows.isEmpty()) {
      return;
    }
    for (final Object removedRow : removedRows) {
      final ClasspathTableItem<?> item =
          (ClasspathTableItem<?>) ((Object[]) removedRow)[ClasspathTableModel.ITEM_COLUMN];
      final OrderEntry orderEntry = item.getEntry();
      if (orderEntry == null) {
        continue;
      }

      getRootModel().removeOrderEntry(orderEntry);
    }
    final int[] selectedRows = myEntryTable.getSelectedRows();
    myModel.fireTableDataChanged();
    TableUtil.selectRows(myEntryTable, selectedRows);
    final StructureConfigurableContext context =
        ModuleStructureConfigurable.getInstance(myState.getProject()).getContext();
    context
        .getDaemonAnalyzer()
        .queueUpdate(new ModuleProjectStructureElement(context, getRootModel().getModule()));
  }
 @Override
 @Nullable
 public OrderEntry getSelectedEntry() {
   ClasspathTableItem<?> item = getSelectedItem();
   return item != null ? item.getEntry() : null;
 }