if (mountedAmmo.isDestroyed() || mountedAmmo.getShotsLeft() <= 0 || mountedAmmo.isDumping()) {
if (mountedAmmo.isDestroyed() || mountedAmmo.getShotsLeft() <= 0 || mountedAmmo.isDumping() || mountedAmmo.isBreached()) {
    public void loadWeapon(Mounted mounted) {        WeaponType wtype = (WeaponType)mounted.getType();        for (Enumeration i = getAmmo(); i.hasMoreElements();) {            Mounted mountedAmmo = (Mounted)i.nextElement();            AmmoType atype = (AmmoType)mountedAmmo.getType();            if (mountedAmmo.isDestroyed() || mountedAmmo.getShotsLeft() <= 0 || mountedAmmo.isDumping()) {                continue;            }            if (atype.getAmmoType() == wtype.getAmmoType() && atype.getRackSize() == wtype.getRackSize()) {                mounted.setLinked(mountedAmmo);                break;            }        }    }