public void remove(Object object){
  int index=findIndex(object);
  if (index != -1) {
    count--;
    for (int i=index; i < count; i++) {
      objects[i]=objects[i + 1];
      methods[i]=methods[i + 1];
    }
    objects[count]=null;
    methods[count]=null;
  }
}

public void remove ( Object object ) { int index = findIndex ( object ) ; if ( index != - 1 ) { count -- ; for ( int i = index ; i < count ; i ++ ) { objects [ i ] = objects [ i + 1 ] ; methods [ i ] = methods [ i + 1 ] ; } objects [ count ] = null ; methods [ count ] = null ; } }
removes first object / method pair matched ( and only the first , must be called multiple times if object is registered multiple times ) . does not shrink array afterwards , silently returns if method not found .
