if ( entity == null ) return new Vector();
    private Vector whoCanSee(Entity entity) {        boolean bTeamVision = game.getOptions().booleanOption("team_vision");        Vector vEntities = game.getEntitiesVector();        Vector vCanSee = new Vector();        vCanSee.addElement(entity.getOwner());        if (bTeamVision) {            addTeammates(vCanSee, entity.getOwner());        }        for (Enumeration p = game.getPlayers(); p.hasMoreElements();) {            Player player = (Player)p.nextElement();            if (player.canSeeAll() && !vCanSee.contains(p))                vCanSee.addElement(player);        }        for (int i = 0; i < vEntities.size(); i++) {            Entity e = (Entity)vEntities.elementAt(i);            if (vCanSee.contains(e.getOwner()) || !e.isActive()) {                continue;            }            if (Compute.canSee(game, e, entity)) {                vCanSee.addElement(e.getOwner());                if (bTeamVision) {                    addTeammates(vCanSee, e.getOwner());                }            }        }        return vCanSee;    }