src/main/java/com/googlecode/objectify/impl/AsyncTransactionImpl.java
@Override
	public Response commit() {
		// Complete any enlisted operations so that the session becomes consistent. Note that some of the
		// enlisted load operations might result in further enlistment... so we have to do this in a loop
		// that protects against concurrent modification exceptions
		while (!enlisted.isEmpty()) {
			final List<Result<?>> last = enlisted;
			enlisted = new ArrayList<>();

			for (final Result<?> result: last)
				result.now();
		}

		final Response response = transaction.commit();
		afterCommit.run();
		return response;
	}
@Override
	public Response commit() {
		// Complete any enlisted operations so that the session becomes consistent. Note that some of the
		// enlisted load operations might result in further enlistment... so we have to do this in a loop
		// that protects against concurrent modification exceptions
		while (!enlisted.isEmpty()) {
			final List<Result<?>> last = enlisted;
			enlisted = new ArrayList<>();

			for (final Result<?> result: last)
				result.now();
		}

		final Response response = transaction.commit();
		afterCommit.run();
		return response;
	}
@ Override public Response commit ( ) { // Complete any enlisted operations so that the session becomes consistent. Note that some of the // enlisted load operations might result in further enlistment... so we have to do this in a loop // that protects against concurrent modification exceptions while ( ! enlisted . isEmpty ( ) ) { final List < Result < ? > > last = enlisted ; enlisted = new ArrayList <> ( ) ; for ( final Result < ? > result : last ) result . now ( ) ; } final Response response = transaction . commit ( ) ; afterCommit . run ( ) ; return response ; }
/* (non-Javadoc)
@see com.googlecode.objectify.util.cmd.TransactionWrapper#commit()
/ * ( non - Javadoc )