@Override public boolean markTouched(DocumentID<T> id, String tag) { if (!cache.markTouched(id, tag)) { DatabaseDocument<T> d = reader.getDocumentById(id); if (d != null) { d.removeFetchedBy(CACHE_TAG); d.setTouchedBy(tag, new Date()); return writer.update(d); } return false; } return true; }