private void onTablesDroped(DropTargetDropEvent dtde) {
    try {
      Object transferData =
          dtde.getTransferable()
              .getTransferData(dtde.getTransferable().getTransferDataFlavors()[0]);

      if (transferData instanceof ObjectTreeDndTransfer) {
        ObjectTreeDndTransfer objectTreeDndTransfer = (ObjectTreeDndTransfer) transferData;

        if (false
            == objectTreeDndTransfer.getSessionIdentifier().equals(_session.getIdentifier())) {
          JOptionPane.showMessageDialog(
              SwingUtilities.windowForComponent(_desktopPane),
              s_stringMgr.getString("GraphDesktopController.tableDropedFormOtherSession"));
          return;
        }

        _listener.tablesDropped(objectTreeDndTransfer.getSelectedTables(), dtde.getLocation());
      }

    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }