@Override
  public <T> T mergeModels(final Class<T> aClass, final T... implementations) {
    if (implementations.length == 1) return implementations[0];
    final MergingInvocationHandler<T> handler = new MergingInvocationHandler<>(aClass, Arrays.asList(implementations));
    return _mergeModels(aClass, handler, implementations);
  }
@Override
  public <T> T mergeModels(final Class<T> aClass, final T... implementations)