static bool showTable_searcher = true;

static JTable showTable(O data) {
  ret dataToTable_uneditable(data);
}

static JTable showTable(S title, O data) {
  ret showTable(data, title);
}

static JTable showTable(O data, S title) {
  ret dataToTable_uneditable(data, title);
}

static JTable showTable(JTable table, O data) {
  ret showTable(table, data, autoFrameTitle());
}

static JTable showTable(O data, JTable table) {
  ret showTable(table, data);
}

static JTable showTable(JTable table, O data, S title) {
  if (table == null)
    table = showTable(data, title);
  else {
    setFrameTitle(table, title);
    dataToTable_uneditable(table, data);
  }
  ret table;
}

static JTable showTable() {
  ret showTable(new ArrayList<L<S>>(), new ArrayList<S>());
}

static JTable showTable(S title) {
  ret showTable(new ArrayList<L<S>>(), new ArrayList<S>(), title);
}

static JTable showTable(L<L<S>> rows, L<S> cols) {
  ret showTable(rows, cols, autoFrameTitle());
}
  
static JTable showTable(L<L<S>> rows, L<S> cols, S title) {
  JTable tbl = sexyTable();
  fillTableWithStrings(tbl, rows, cols);
  showFrame(title, tbl);
  return tbl;
}