/** * Removes the indicated members from the current ViewState. <br> * The members whose index is at true in the remove array, are removed from the ViewState. * * @param remove the members to remove */ public void remove(boolean[] remove) { if (remove.length != view.length) throw new IllegalArgumentException("different sizes"); int i, j, size; size = 0; for (i = 0; i < remove.length; i++) { if (!remove[i]) size++; } Endpt[] new_view = new Endpt[size]; InetSocketAddress[] new_addrs = new InetSocketAddress[size]; j = 0; for (i = 0; i < remove.length; i++) { if (!remove[i]) { new_view[j] = view[i]; new_addrs[j] = addresses[i]; j++; } } view = new_view; addresses = new_addrs; if (new_view.length > 0) id.coord = new_view[0]; }