} else if (lowerName.endsWith(".hmp")) { loader = new HmpFile(is);
    public void parse(InputStream is, String fileName) throws EntityLoadingException {        String lowerName = fileName.toLowerCase();        MechLoader loader;        if (lowerName.endsWith(".mep")) {            loader = new MepFile(is);        } else if (lowerName.endsWith(".mtf")) {            loader = new MtfFile(is);        } else if (lowerName.endsWith(".blk")) {            BuildingBlock bb = new BuildingBlock(is);            if (bb.exists("UnitType")) {                String sType = bb.getDataAsString("UnitType")[0];                if (sType.equals("Tank")) {                    loader = new BLKTankFile(bb);                }                else if (sType.equals("Infantry")) {                    loader = new BLKInfantryFile(bb);                }                else if (sType.equals("BattleArmor")) {                    loader = new BLKBattleArmorFile(bb);                }                else if (sType.equals("Mech")) {                    loader = new BLKMechFile(bb);                }                else {                    throw new EntityLoadingException("Unknown UnitType: " + sType);                }            }            else {                loader = new BLKMechFile(bb);            }        } else {            throw new EntityLoadingException("Unsupported file suffix");        }                m_entity = loader.getEntity();                postLoadInit(m_entity);    }