code: function constructAggregate(){
  		var ARObject = new ARConstructor();
  		ARObject.setAggregateID(ARID);
  		ARObject.setEventSink(eventSink);
  		// If no snapshotter has been passed (or is not needed/used), instead of complicating logic, we simply replace it locally with a stub that knows no aggregates and rejects all loads.
  		//  This happens in constructAggregate since it relies on the AR object existing.
  		if(!snapshotter || !ARObject.supportsSnapshotApplication()){
  			snapshotter = new NoOpSnapshotter();
  		}
  		ARObject.setSnapshotter(snapshotter);
  		return ARObject;
  	}
docs: Function definitions for later use in loadAggregate: Aggregate construction.