public void removeItem(ListItem<T> item) { int idx = item.getIndex(); for (int i = idx + 1; i < item.getParent().size(); i++) { ListItem<?> itemReIndex = (ListItem<?>) item.getParent().get(i); itemReIndex.setIndex(itemReIndex.getIndex() - 1); } items.remove(item.getIndex()); remove(item); }