Question: I am trying to allow a UITableView to be re-ordered by a user and also delete it's cells.
Reordering works fine. And deleting works fine too if the cells are not yet reordered. However, if I reorder the cells using moveRowAtIndexPath and delete one cell, the wrong cell/data is being deleted. Say that I have data `A,B,C` reordered to become `A,C,B`. If I delete "C" the result will be `A,C` instead of `A,B`. I am using an NSMutableArray to get the data from and set to the UITableView.

```
-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath {
    MyObject *obj = [myArray objectAtIndex:sourceIndexPath.row];
    [myArray removeObject:obj];
    [myArray insertObject:obj atIndex:destinationIndexPath.row];
}

```

and deleting looks like this:

```
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    [myArray removeObjectAtIndex:indexPath.row];
    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationBottom];
    [tableView endUpdates];
}

```

Answer: 
I think these jars are not appropriate for GWT client side. Because of that you can use them only in your server side, not in your client side.
GWT is not a complete JVM - it's a source preprocessor with a subset of the Java runtime enviroment, hence you cannot willy-nilly usse any JAR you find with it. You will need to do all the processing and text extraction on the server side.