class CompositeLogger implements Logger<M, E, F> {

  @Override
  public void afterInit(M model, First<M, F> result) {
    for (Logger<M, E, F> logger : loggersReversed) {
      logger.afterInit(model, result);
    }
  }

  private  CompositeLogger(List<Logger<M, E, F>> loggers);

}