class GroupDAO {

  public Optional<Group> getGroupById(long id) {
    GroupsRecord r = dslContext.fetchOne(GROUPS, GROUPS.ID.eq(id));
    return Optional.ofNullable(r).map(groupMapper::map);
  }

  private  GroupDAO(DSLContext dslContext, GroupMapper groupMapper, ObjectMapper mapper);

}