class AbstractDao implements CrudDao<T, ID> {

  public ID getId(Object key) {
    return mapper.fromKey(key);
  }

  protected  AbstractDao(Mapper<T, ID> mapper, Supplier<Object, Object, Object, Object> supplier);

}