} else {
    public MtfFile(InputStream is) throws EntityLoadingException {        try {            BufferedReader r = new BufferedReader(new InputStreamReader(is));            version = r.readLine();            //Version 1.0: Initial version.            //Version 1.1: Added level 3 cockpit and gyro options.            if (!version.trim().equalsIgnoreCase("Version:1.0")                && !version.trim().equalsIgnoreCase("Version:1.1")) {                throw new EntityLoadingException("Wrong MTF file version.");            }            name = r.readLine();            model = r.readLine();            r.readLine();            chassisConfig = r.readLine();            techBase = r.readLine();            techYear = r.readLine();            rulesLevel = r.readLine();            r.readLine();            // The next line might either be blank or a system type.            String tmp = r.readLine();            while ((tmp != null) && (tmp.length() > 0)) {                if (tmp.startsWith("Cockpit:")) {                    cockpitType = tmp;                } else if (tmp.startsWith("Gyro:")) {                    gyroType = tmp;                } else if (tmp.startsWith("Mass:")) {                    tonnage = tmp;                } else if (tmp.startsWith("Engine:")) {                    engine = tmp;                } else if (tmp.startsWith("Structure:")) {                    internalType = tmp;                } else if (tmp.startsWith("Myomer:")) {                    myomerType = tmp;                } else {                    // Do we WANT to do anything here?                    //FIXME                }                tmp = r.readLine();            }            heatSinks = r.readLine();            walkMP = r.readLine();            jumpMP = r.readLine();            r.readLine();            armorType = r.readLine();            for (int x = 0; x < armorValues.length; x++) {                armorValues[x] = r.readLine();            }            r.readLine();            weaponCount = r.readLine();            int weapons = Integer.parseInt(weaponCount.substring(8));            weaponData = new String[weapons];            for(int i = 0; i < weapons; i++) {                weaponData[i] = r.readLine();            }            critData = new String[8][12];            for (int x = 0; x < locationOrder.length; x++) {                readCrits(r, locationOrder[x]);            }            r.close();        } catch (IOException ex) {            ex.printStackTrace();            throw new EntityLoadingException("I/O Error reading file");        } catch (StringIndexOutOfBoundsException ex) {            ex.printStackTrace();            throw new EntityLoadingException("StringIndexOutOfBoundsException reading file (format error)");        } catch (NumberFormatException ex) {            ex.printStackTrace();            throw new EntityLoadingException("NumberFormatException reading file (format error)");        }    }