// Path: myeslib-core/src/main/java/org/myeslib/core/Event.java
// public interface Event extends Serializable {
// 	
// }


import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkArgument;
import java.io.Serializable;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import lombok.Data;
import org.myeslib.core.Event;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
package org.myeslib.core.data;





@SuppressWarnings("serial")
@Data
public class AggregateRootHistory implements Serializable {

	private final List<UnitOfWork> unitsOfWork;
	private final Set<UnitOfWork> persisted;

	public AggregateRootHistory() {
		this.unitsOfWork = new LinkedList<>();
		this.persisted = new LinkedHashSet<>();
	}

// Path: myeslib-core/src/main/java/org/myeslib/core/Event.java
// public interface Event extends Serializable {
// 	
// }


// Path: myeslib-core/src/main/java/org/myeslib/core/data/AggregateRootHistory.java
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkArgument;
import java.io.Serializable;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import lombok.Data;
import org.myeslib.core.Event;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;

package org.myeslib.core.data;





@SuppressWarnings("serial")
@Data
public class AggregateRootHistory implements Serializable {

	private final List<UnitOfWork> unitsOfWork;
	private final Set<UnitOfWork> persisted;

	public AggregateRootHistory() {
		this.unitsOfWork = new LinkedList<>();
		this.persisted = new LinkedHashSet<>();
	}

	public List<Event> getAllEvents() {