private Collection<Record> getRecordCollection(Date from, 
                                           Date until, 
                                           String mdPrefix) {
        List<Record> list = new ArrayList<Record>();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH-mm-ss");
        String[] names = m_recordsDir.list();
        for (int i = 0; i < names.length; i++) {
            String[] temp = names[i].replaceFirst("-", " ")
                                    .replaceFirst("-", " ")
                                    .split(" ");
            if (temp.length == 3 && temp[2].indexOf(".") != -1) {
                String[] parts = names[i].split("-");
                if (parts[1].equals(mdPrefix)) {
                    try {
                        long recDate = df.parse(temp[2].substring(0, temp[2].indexOf("."))).getTime();
                        if ( (from == null || from.getTime() < recDate)
                                && (until.getTime() >= recDate) ) {
                            String itemID = "oai:example.org:" + parts[0];
                            list.add(new RecordImpl(itemID,
                                                    mdPrefix,
                                                    new File(m_recordsDir,
                                                             names[i])));
                        }
                    } catch (Exception e) { 
                        System.out.println("WARNING: Ignoring unparsable filename: " 
                                           + names[i]);
                    }
                }
            }
        }
        return list;
    }