sO cloneIfCollectionOrMap(O o) { if (o cast Cl) ret cloneCollection(o); if (o cast Map) ret cloneMap(o); ret o; }