finally { if (pasted) UndoManager.getInstance().stopMacroAction(); }
    private void performPaste()    {        final String EMPTY_STRING = "";        int startRow = (table.getSelectedRows())[0];                int tableRowCount = table.getRowCount();        int tableColumnCount = table.getColumnCount();        // inspector case        //int startCol = (table.getSelectedColumns())[0];        int startCol = 1;                try        {            String transferedString =                (String)clipboardSystem.getContents(this).getTransferData(DataFlavor.stringFlavor);                        StringTokenizer st1 = new StringTokenizer(transferedString, "\n");            for (int i = 0; st1.hasMoreTokens(); i++)            {                String rowString = st1.nextToken();                StringTokenizer st2 = new StringTokenizer(rowString, "\t");                int j = 0;                for (; st2.hasMoreTokens(); j++)                {                    String value = (String)st2.nextToken();                                        // set value                    int columnToSet = startCol + j;                    // inspector sets only column 2                    if (columnToSet == 2)	                    if (startRow + i < tableRowCount && 	                        columnToSet < tableColumnCount)	                        table.setValueAt(value, startRow + i, columnToSet);                }                                // clear the rest                // only one field - inspector case                if (startCol + j == 2)                    table.setValueAt(EMPTY_STRING, startRow + i, 2);                                            }        } catch (Throwable th) {            // noop        }    }