table.registerKeyboardAction(action,(String)ancestorMap.get((KeyStroke)keys[i]), KeyStroke.getKeyStroke (((KeyStroke)keys[i]).getKeyCode(), convertModifiers(((KeyStroke)keys[i]).getModifiers())), JComponent.WHEN_FOCUSED);
parentInputMap.put(KeyStroke.getKeyStroke (((KeyStroke)keys[i]).getKeyCode(), convertModifiers (((KeyStroke)keys[i]).getModifiers())), (String)ancestorMap.get((KeyStroke)keys[i]));
  protected void installKeyboardActions()             {    UIDefaults defaults = UIManager.getLookAndFeelDefaults();    InputMap ancestorMap = (InputMap)defaults.get("Table.ancestorInputMap");    action = new TableAction();    Object keys[] = ancestorMap.allKeys();    // Register the key bindings with the JTable.    // Note that we register key bindings with both the old and new modifier    // masks: InputEvent.SHIFT_MASK and InputEvent.SHIFT_DOWN_MASK and so on.    for (int i = 0; i < keys.length; i++)      {        table.registerKeyboardAction(action,(String)ancestorMap.get((KeyStroke)keys[i]),                                      KeyStroke.getKeyStroke                                     (((KeyStroke)keys[i]).getKeyCode(), convertModifiers(((KeyStroke)keys[i]).getModifiers())),                                      JComponent.WHEN_FOCUSED);        table.registerKeyboardAction(action,(String)ancestorMap.get((KeyStroke)keys[i]),                                      KeyStroke.getKeyStroke                                     (((KeyStroke)keys[i]).getKeyCode(), ((KeyStroke)keys[i]).getModifiers()),                                      JComponent.WHEN_FOCUSED);            }        }