public void expand(BibtexFile file) throws ExpansionException {
		for (Iterator entryIt = file.getEntries().iterator(); entryIt.hasNext();) {
			Object next = entryIt.next();
			if (!(next instanceof BibtexEntry))
				continue;
			BibtexEntry entry = (BibtexEntry) next;
			if (expandAuthors && entry.getFieldValue("author") != null) {
				try {
					entry.setField(
						"author",
						BibtexPersonListParser.parse((BibtexString) entry.getFieldValue("author"),""+entry.getEntryKey()));
				} catch (PersonListParserException e) {
					throwExpansionException(e);
				}
			}
			if (expandEditors && entry.getFieldValue("editor") != null) {
				try {
					entry.setField(
						"editor",
						BibtexPersonListParser.parse((BibtexString) entry.getFieldValue("editor"),""+entry.getEntryKey()));
				} catch (PersonListParserException e) {
					throwExpansionException(e);
				}
			}
		}
		finishExpansion();
	}