question: public synchronized void removeEntity ( int id , int condition ) { Entity toRemove = getEntity ( id ) ; if ( toRemove == null ) { return ; } entities . remove ( toRemove ) ; entityIds . remove ( new Integer ( id ) ) ; removeEntityPositionLookup ( toRemove ) ; toRemove . setRemovalCondition ( condition ) ; if ( ( vOutOfGame != null ) && ( condition != IEntityRemovalConditions . REMOVE_NEVER_JOINED ) ) { vOutOfGame . addElement ( toRemove ) ; } if ( deploymentTable . size ( ) > 0 ) { Enumeration < Vector < Entity > > iter = deploymentTable . elements ( ) ; while ( iter . hasMoreElements ( ) ) { Vector < Entity > vec = iter . nextElement ( ) ; for ( int i = vec . size ( ) - 1 ; i >= 0 ; i -- ) { Entity en = vec . elementAt ( i ) ; if ( en . getId ( ) == id ) { vec . removeElementAt ( i ) ; } } } } processGameEvent ( new GameEntityRemoveEvent ( this , toRemove ) ) ; }
target:  Remove an entity from the master list. If we can't find that entity, (probably due to double-blind) ignore it.