I was trying to figure out how to delegate somebody else the knowledge of the file number:RemoteString newString: aString onFileNumber: 2I was thinking in a replacement like:SourceFiles newRemoteStringWith: aStringor:SourceFiles oldRemoteStringAt: aSourcePointerAnd let a SourceFileArray instance decide what's the file number.But it's not so easy. In other methods (I think related to condensing the file or filing out), it's also specified the filestream:RemoteString newString: self organization classComment onFileNumber: 2 toFile: aFileStreamMart�nOn Thu, Nov 14, 2013 at 7:51 PM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:I hate this code.I had to work with it so many times when I extracted all the squeak version to load them in VW to be analysedin Moose (and sadly nobody did anything with them) I should have started to publish ideas on them - silly me.StefOn Nov 14, 2013, at 5:52 PM, Martin Dias <tinchodias@gmail.com> wrote:HiAny idea why the "aString isKindOf: RemoteString" is there?In TClassDescription:classComment: aString stamp: aStamp"Store the comment, aString or Text or RemoteString, associated with the class we are organizing. Empty string gets stored only if had a non-empty one before."| pointer header file oldCommentRemoteString oldComment oldStamp |oldComment := self organization classComment.oldStamp := self organization commentStamp.(aString isKindOf: RemoteString) ifTrue: [SystemAnnouncer uniqueInstanceclass: selfoldComment: oldCommentnewComment: aString stringoldStamp: oldStampnewStamp: aStamp.^ self organization classComment: aString stamp: aStamp].oldCommentRemoteString := self organization commentRemoteStr.(aString size = 0) & (oldCommentRemoteString isNil) ifTrue: [^ self organization classComment: nil]."never had a class comment, no need to write empty string out"pointer := oldCommentRemoteStringifNil: [0]ifNotNil: [oldCommentRemoteString sourcePointer].(file := SourceFiles at: 2) ifNotNil: [file setToEnd; cr; nextPut: $!. "directly""Should be saying (file command: 'H3') for HTML, but ignoring it here"header := String streamContents: [:strm | strm nextPutAll: self name;nextPutAll: ' commentStamp: '.aStamp storeOn: strm.strm nextPutAll: ' prior: '; nextPutAll: pointer printString].file nextChunkPut: header].self organizationclassComment: (RemoteString newString: aString onFileNumber: 2)stamp: aStamp.SystemAnnouncer uniqueInstanceclass: selfoldComment: oldCommentnewComment: aStringoldStamp: oldStampnewStamp: aStamp(nice method eh!)Mart�n