// NotifyingList is our new go-to way to wrap a list // with additional functions. persistable sclass VectorSSIList extends NotifyingList is ByteIO { *() { init(); } *(Cl l) { initAndAddAll(vectorize(l)); } L vectorize(Cl l) { ret map toVectorSSI(l); } BufferedImage render(WidthAndHeight size) { ret renderAll(this, size); } BufferedImage render(BufferedImage canvas) { ret renderAll(this, canvas); } BufferedImage renderOutlines(WidthAndHeight size) { ret toSSIlist().renderOutlines(size); } SSIList toSSIList() { ret new SSIList(map(this, -> .toSSI)); } }