Buggy code:
static final Hashtable AccessibleObjects = new Hashtable ( 9 ) ; static final boolean DEBUG = Device . DEBUG ; AccessibleObject ( int type , int widget , Accessible accessible , boolean isLightweight ) { } static void print ( String str ) { } static AtkActionIface getActionIface ( int atkObject ) { } static int atkAction_do_action ( int atkObject , int index ) { } static int atkAction_get_n_actions ( int atkObject ) { } static int atkAction_get_description ( int atkObject , int index ) { } static int atkAction_get_keybinding ( int atkObject , int index ) { } static int atkAction_get_name ( int atkObject , int index ) { } static AtkComponentIface getComponentIface ( int atkObject ) { } static int atkComponent_get_extents ( int atkObject , int x , int y , int width , int height , int coord_type ) { } static int atkComponent_get_position ( int atkObject , int x , int y , int coord_type ) { } static int atkComponent_get_size ( int atkObject , int width , int height , int coord_type ) { } static int atkComponent_ref_accessible_at_point ( int atkObject , int x , int y , int coord_type ) { } static AtkHypertextIface getHypertextIface ( int atkObject ) { } static int atkHypertext_get_link ( int atkObject , int link_index ) { } static int atkHypertext_get_n_links ( int atkObject ) { } static int atkHypertext_get_link_index ( int atkObject , int char_index ) { } static AtkObjectClass getObjectClass ( int atkObject ) { } static int atkObject_get_description ( int atkObject ) { } static int atkObject_get_name ( int atkObject ) { } static int atkObject_get_n_children ( int atkObject ) { } static int atkObject_get_index_in_parent ( int atkObject ) { } static int atkObject_get_parent ( int atkObject ) { } static int atkObject_get_role ( int atkObject ) { } static int atkObject_ref_child ( int atkObject , int index ) { } static int atkObject_ref_state_set ( int atkObject ) { } static AtkSelectionIface getSelectionIface ( int atkObject ) { } static int atkSelection_is_child_selected ( int atkObject , int index ) { } static int atkSelection_ref_selection ( int atkObject , int index ) { } static AtkTableIface getTableIface ( int atkObject ) { } static int atkTable_ref_at ( int atkObject , int row , int column ) { } static int atkTable_get_index_at ( int atkObject , int row , int column ) { } static int atkTable_get_column_at_index ( int atkObject , int index ) { } static int atkTable_get_row_at_index ( int atkObject , int index ) { } static int atkTable_get_n_columns ( int atkObject ) { } static int atkTable_get_n_rows ( int atkObject ) { } static int atkTable_get_column_extent_at ( int atkObject , int row , int column ) { } static int atkTable_get_row_extent_at ( int atkObject , int row , int column ) { } static int atkTable_get_caption ( int atkObject ) { } static int atkTable_get_summary ( int atkObject ) { } static int atkTable_get_column_description ( int atkObject , int column ) { } static int atkTable_get_column_header ( int atkObject , int column ) { } static int atkTable_get_row_description ( int atkObject , int row ) { } static int atkTable_get_row_header ( int atkObject , int row ) { } static int atkTable_get_selected_columns ( int atkObject , int selected ) { } static int atkTable_get_selected_rows ( int atkObject , int selected ) { } static int atkTable_is_column_selected ( int atkObject , int column ) { } static int atkTable_is_row_selected ( int atkObject , int row ) { } static int atkTable_is_selected ( int atkObject , int row , int column ) { } static int atkTable_add_row_selection ( int atkObject , int row ) { if ( AccessibleObject . DEBUG ) AccessibleObject . print ( "-->atkTable_add_row_selection" ) ; AccessibleObject object = AccessibleObject . getAccessibleObject ( atkObject ) ; if ( object != null ) { Accessible accessible = object . accessible ; Vector listeners = accessible . accessibleTableListeners ; int length = listeners . size ( ) ; if ( length > 0 ) { AccessibleTableEvent event = new AccessibleTableEvent ( accessible ) ; <START_BUG> event . column = ( ( int ) ( row ) ) ; <END_BUG> for ( int i = 0 ; i < length ; i ++ ) { AccessibleTableListener listener = ( ( AccessibleTableListener ) ( listeners . elementAt ( i ) ) ) ; listener . selectRow ( event ) ; } return 1 ; } } int parentResult = 0 ; AtkTableIface iface = AccessibleObject . getTableIface ( atkObject ) ; if ( ( iface != null ) && ( ( iface . add_row_selection ) != 0 ) ) { parentResult = ATK . call ( iface . add_row_selection , atkObject , row ) ; } return parentResult ; } static int atkTable_remove_row_selection ( int atkObject , int row ) { } static int atkTable_add_column_selection ( int atkObject , int column ) { } static int atkTable_remove_column_selection ( int atkObject , int column ) { } static AtkTextIface getTextIface ( int atkObject ) { } static int atkText_get_character_extents ( int atkObject , int offset , int x , int y , int width , int height , int coords ) { } static String getString ( int strPtr ) { } static int getStringPtr ( String str ) { } static int atkText_get_range_extents ( int atkObject , int start_offset , int end_offset , int coord_type , int rect ) { } static int atkText_get_run_attributes ( int atkObject , int offset , int start_offset , int end_offset ) { } static int atkText_get_offset_at_point ( int atkObject , int x , int y , int coords ) { } static int atkText_add_selection ( int atkObject , int start_offset , int end_offset ) { } static int atkText_remove_selection ( int atkObject , int selection_num ) { } static int atkText_set_caret_offset ( int atkObject , int offset ) { } static int atkText_set_selection ( int atkObject , int selection_num , int start_offset , int end_offset ) { }

Fix:
event . row = ( ( int ) ( row ) ) ;