@Override
 public <D extends Document<?>> boolean exists(D document) {
   return exists(document.id());
 }
 @Override
 public <D extends Document<?>> boolean exists(D document, long timeout, TimeUnit timeUnit) {
   return exists(document.id(), timeout, timeUnit);
 }
 public static D findD(int id) {
   D toReturn = new D();
   toReturn.id = id;
   return toReturn;
 }