public Document nextDocument() throws RepositoryException {
logger.entering("FileDocumentList", "nextDocument()");
fileDocument = null;
if (objects.hasNext()) {
IBaseObject object = objects.next();
if (object.isDeletionEvent()) {
fileDocumentToDeleteDate = object.getModifyDate();
docIdToDelete = object.get_Id();
if (object.isReleasedVersion()) {
fileDocument = createDeleteDocument(object);
} else {
throw new SkippedDocumentException("Skip a deletion event [ID: "
+ docIdToDelete + "] of an unreleased document.");
}
} else if (object instanceof FileDeletionObject) {
fileDocumentToDeleteDocsDate = object.getModifyDate();
docIdToDeleteDocs = object.get_Id();
if (object.isReleasedVersion()) {
fileDocument = createDeleteDocument(object);
} else {
throw new SkippedDocumentException("Skip custom deletion [ID: "
+ docIdToDeleteDocs + "] because document is not a released "
+ "version.");
}
} else {
fileDocumentDate = object.getModifyDate();
docId = object.get_Id();
fileDocument = createAddDocument(object);
}
} else {
logger.finest("Processing ACL document");
fileDocument = acls.pollFirst();