@Override public boolean markProcessed(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); if (cached != null) { d.putAll(cached); cache.remove(d.getID()); } if (writer.markProcessed(d, stage)) { return true; } return false; }