private RevisionMetadata<?> getRevisionMetadata(Object object) { if (object instanceof DefaultRevisionEntity) { return new DefaultRevisionMetadata((RevisionInfoEntity) object); } else { return new AnnotationRevisionMetadata<N>(object, RevisionNumber.class, RevisionTimestamp.class); } }