@RunsInEDT
static Point centerOfMatchingItemCell(final JList list, final String value, final JListCellReader cellReader) {
return execute(new GuiQuery<Point>() {
protected Point executeInEDT() {
int itemIndex = matchingItemIndex(list, new StringTextMatcher(value), cellReader);
return cellCenter(list, cellBounds(list, itemIndex));
}
});
}