ms.setRef(m.getModel());
ms.setChassis(m.getChassis()); ms.setModel(m.getModel());
    private boolean loadMechsFromDirectory(Vector vMechs, Set sKnownFiles, long lLastCheck, File fDir)    {        boolean bNeedsUpdate = false;        System.out.println("Looking in " + fDir.getPath());        String[] sa = fDir.list();        for (int x = 0; x < sa.length; x++) {            File f = new File(fDir, sa[x]);            if (f.equals(CACHE)) { continue; }            if (f.isDirectory()) {                 // recursion is fun                bNeedsUpdate |= loadMechsFromDirectory(vMechs, sKnownFiles, lLastCheck, f);                continue;            }            if (f.getName().indexOf('.') == -1) { continue; }            if (f.getName().toLowerCase().endsWith(".zip")) {                bNeedsUpdate |= loadMechsFromZipFile(vMechs, sKnownFiles, lLastCheck, f);                continue;            }            if (f.lastModified() < lLastCheck  && sKnownFiles.contains(f.toString())) {                continue;            }            try {                System.out.println("Loading from " + f);                MechFileParser mfp = new MechFileParser(f);                Entity m = mfp.getEntity();                MechSummary ms = new MechSummary();                ms.setName(m.getShortName());                ms.setRef(m.getModel());                ms.setSourceFile(f);                ms.setEntryName(null);                ms.setYear(m.getYear());                ms.setType(m.getTechLevel());                ms.setTons((int)m.getWeight());                ms.setBV(m.calculateBattleValue());                vMechs.addElement(ms);                sKnownFiles.add(f.toString());                bNeedsUpdate = true;            } catch (EntityLoadingException ex) {                System.err.println("couldn't load file " + f.getName() + " : " + ex.getMessage());                continue;            }        }                return bNeedsUpdate;    }