code: @Override
      public Iterable<T> save(final Iterable<T> entities) {
          return inTransaction(new Callable<Iterable<T>>() {
              @Override
              public Iterable<T> call() throws Exception {
                  for (T object : entities) {
                      entityManager.persist(object);
                  }
                  return entities;
              }
          });
      }
docs: Saves all given entities. Use the returned instances for further operations as the operation might have
  changed the entity instances completely.
  
  @param entities the entities to save, must not contains {@literal null} values
  @return the saved entities