code: public QueryMemento createMemento() {
  		RecordedQuery rq = this.query.getRecordedQuery();
  		if (this.augmentations != null) {
  			Map<Object, String> domMap = InternalAccess.getRecordedQueryObjects(this.query);
  			Map<String, String> augments = new HashMap<String, String>();
  			Iterator<Entry<DomainObjectMatch<?>, String>> it = this.augmentations.entrySet().iterator();
  			while(it.hasNext()) {
  				Entry<DomainObjectMatch<?>, String> entry = it.next();
  				DomainObjectMatch<?> dom = entry.getKey();
  				DomainObjectMatch<?> delegate = APIAccess.getDelegate(dom);
  				if (delegate != null)
  					dom = delegate;
  				augments.put(domMap.get(dom), entry.getValue());
  			}
  			rq.setAugmentations(augments);
  		}
  		QueryMemento ret = new QueryMemento(rq.toString(), new JSONConverter().setPrettyFormat(this.prettyFormat).toJSON(rq));
  		
  		return ret;
  	}
docs: The memento contains a JSON representation of the query as well as a Java-DSL like string representation.
  @return