vPhaseReport.addAll( damageEntity(entity, hit, next) );
addReport( damageEntity(entity, hit, next) );
    private void damageInfantryIn( Building bldg, int damage ) {        // Calculate the amount of damage the infantry will sustain.        float percent = 0.0f;        Report r;        switch( bldg.getType() ) {        case Building.LIGHT: percent = 0.75f; break;        case Building.MEDIUM: percent = 0.5f; break;        case Building.HEAVY: percent = 0.25f; break;        }        // Round up at .5 points of damage.        int toInf = Math.round( damage * percent );        // Record if we find any infantry.        boolean foundInfantry = false;        // Walk through the entities in the game.        Enumeration entities = game.getEntities();        while ( entities.hasMoreElements() ) {            Entity entity = (Entity) entities.nextElement();            final Coords coords = entity.getPosition();            // If the entity is infantry in one of the building's hexes?            if ( entity instanceof Infantry &&                 bldg.isIn( coords ) ) {                // Is the entity is inside of the building                // (instead of just on top of it)?                if ( Compute.isInBuilding( game, entity, coords ) ) {                                        // Report if the infantry receive no points of damage.                    if ( toInf == 0 ) {                        r = new Report(6445);                        vPhaseReport.addElement(r);                    } else {                        // Yup.  Damage the entity.                        // Battle Armor units use 5 point clusters.                        r = new Report(6450);                        r.indent(2);                        r.subject = entity.getId();                        r.add(entity.getDisplayName());                        r.add(toInf);                        vPhaseReport.addElement(r);                        int remaining = toInf;                        int cluster = toInf;                        if ( entity instanceof BattleArmor ) {                            cluster = 5;                        }                        while ( remaining > 0 ) {                            int next = Math.min( cluster, remaining );                            HitData hit = entity.rollHitLocation                                ( ToHitData.HIT_NORMAL, ToHitData.SIDE_FRONT );                            vPhaseReport.addAll( damageEntity(entity, hit, next) );                            remaining -= next;                        }                        vPhaseReport.addElement(new Report(1210));                    }                } // End infantry-inside-building            } // End entity-is-infantry-in-building-hex        } // Handle the next entity        // If we found any infantry, add a line to the phase report.        if ( foundInfantry ) {            vPhaseReport.addElement(new Report(1210));        }    } // End private void damageInfantryIn( Building, int )