     column    _viewport column
   Returns the model index"
            [column]
-           (let [ col-model (.getColumnModel table)
-                  table-col (.getColumn col-model column)]
-             (.getModelIndex table-col)))
+           (let [ col-count (.getColumnCount table) ]
+             (if (>= column col-count) column
+               (let [ col-model (.getColumnModel table)
+                      table-col (.getColumn col-model column)]
+                 (.getModelIndex table-col)))))
          
          :get-index-column
          (fn-swing-doc "Returns the column in the view that corresponds

                  cols (range (.getColumnCount col-model))
                  matching (filter 
                             (fn [x] (= index (.getModelIndex (.getColumn col-model x))))
                             cols)]
             (first matching)))

         :get-index-row
         (fn-doc "Returns the row in the view that corresponds

  Parameters:
    obj     _a table widget" [obj] 
  (let [control (get-control obj)
         sel-columns ((*comp (rho .getSelectedColumns)  extract-array)
                       control)
         sel-rows ((*comp (rho .getSelectedRows) extract-array)
                    control)
         col-index (!! obj :get-column-index-permutator)
         row-index (!! obj :get-row-index-permutator)]
    (if (or (empty? sel-columns) (empty? sel-rows)) nil
      (let [data (str (get-clipboard-contents))
             startx (first sel-columns)
