|  | @@ -349,6 +349,41 @@ messageSends: ["isNil", "element"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  $globals.Domite);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +$core.addMethod(
 | 
	
		
			
				|  |  | +$core.method({
 | 
	
		
			
				|  |  | +selector: "next",
 | 
	
		
			
				|  |  | +protocol: 'reading',
 | 
	
		
			
				|  |  | +fn: function (){
 | 
	
		
			
				|  |  | +var self=this;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +var $1,$2;
 | 
	
		
			
				|  |  | +$1=self._atEnd();
 | 
	
		
			
				|  |  | +if($core.assert($1)){
 | 
	
		
			
				|  |  | +return nil;
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +var result;
 | 
	
		
			
				|  |  | +result=self._peek();
 | 
	
		
			
				|  |  | +result;
 | 
	
		
			
				|  |  | +self._setToNext();
 | 
	
		
			
				|  |  | +$2=result;
 | 
	
		
			
				|  |  | +return $2;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +return self;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +}, function($ctx1) {$ctx1.fill(self,"next",{},$globals.Domite)});
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  | +args: [],
 | 
	
		
			
				|  |  | +source: "next\x0a\x09self atEnd\x0a\x09\x09ifTrue: [ ^ nil ]\x0a\x09\x09ifFalse: [ | result |\x0a\x09\x09\x09result := self peek.\x0a\x09\x09\x09self setToNext.\x0a\x09\x09\x09^ result ]",
 | 
	
		
			
				|  |  | +referencedClasses: [],
 | 
	
		
			
				|  |  | +//>>excludeEnd("ide");
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:ifFalse:", "atEnd", "peek", "setToNext"]
 | 
	
		
			
				|  |  | +}),
 | 
	
		
			
				|  |  | +$globals.Domite);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  $core.addMethod(
 | 
	
		
			
				|  |  |  $core.method({
 | 
	
		
			
				|  |  |  selector: "nextPut:",
 | 
	
	
		
			
				|  | @@ -500,6 +535,70 @@ messageSends: ["addEventListener:block:useCapture:", "element"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  $globals.Domite);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +$core.addMethod(
 | 
	
		
			
				|  |  | +$core.method({
 | 
	
		
			
				|  |  | +selector: "peek",
 | 
	
		
			
				|  |  | +protocol: 'reading',
 | 
	
		
			
				|  |  | +fn: function (){
 | 
	
		
			
				|  |  | +var self=this;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +var $2,$1,$receiver;
 | 
	
		
			
				|  |  | +$2=self._reference();
 | 
	
		
			
				|  |  | +if(($receiver = $2) == null || $receiver.isNil){
 | 
	
		
			
				|  |  | +$1=$2;
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +var ref;
 | 
	
		
			
				|  |  | +ref=$receiver;
 | 
	
		
			
				|  |  | +$1=$recv(self._class())._fromElement_(ref);
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +return $1;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +}, function($ctx1) {$ctx1.fill(self,"peek",{},$globals.Domite)});
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  | +args: [],
 | 
	
		
			
				|  |  | +source: "peek\x0a\x09^ self reference\x0a\x09\x09ifNotNil: [ :ref | self class fromElement: ref ]",
 | 
	
		
			
				|  |  | +referencedClasses: [],
 | 
	
		
			
				|  |  | +//>>excludeEnd("ide");
 | 
	
		
			
				|  |  | +messageSends: ["ifNotNil:", "reference", "fromElement:", "class"]
 | 
	
		
			
				|  |  | +}),
 | 
	
		
			
				|  |  | +$globals.Domite);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$core.addMethod(
 | 
	
		
			
				|  |  | +$core.method({
 | 
	
		
			
				|  |  | +selector: "prev",
 | 
	
		
			
				|  |  | +protocol: 'reading',
 | 
	
		
			
				|  |  | +fn: function (){
 | 
	
		
			
				|  |  | +var self=this;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +var $1,$2;
 | 
	
		
			
				|  |  | +$1=self._atStart();
 | 
	
		
			
				|  |  | +if($core.assert($1)){
 | 
	
		
			
				|  |  | +return nil;
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +self._setToPrev();
 | 
	
		
			
				|  |  | +$2=self._peek();
 | 
	
		
			
				|  |  | +return $2;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +return self;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +}, function($ctx1) {$ctx1.fill(self,"prev",{},$globals.Domite)});
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  | +args: [],
 | 
	
		
			
				|  |  | +source: "prev\x0a\x09self atStart\x0a\x09\x09ifTrue: [ ^ nil ]\x0a\x09\x09ifFalse: [ self setToPrev. ^ self peek ]",
 | 
	
		
			
				|  |  | +referencedClasses: [],
 | 
	
		
			
				|  |  | +//>>excludeEnd("ide");
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:ifFalse:", "atStart", "setToPrev", "peek"]
 | 
	
		
			
				|  |  | +}),
 | 
	
		
			
				|  |  | +$globals.Domite);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  $core.addMethod(
 | 
	
		
			
				|  |  |  $core.method({
 | 
	
		
			
				|  |  |  selector: "propAt:",
 |