+ public void remove(T t) {
+ if (only != null) {
+ if (only==t) only=null;
+ return;
+ }
+ boolean found = false;
+ for(int j=0; j<size; j++) {
+ if (array[j]==t) found = true;
+ if (found && j<size-1) array[j] = array[j+1];
+ }
+ if (found) size--;
+ }
+
+ public <B> void visit(Invokable<T,B> ivbc, B b) {
+ if (only!=null) ivbc.invoke(only, b);
+ else for(int j=0; j<size; j++)
+ ivbc.invoke((T)array[j], b);
+ }
+