return new CompositeCurveImpl(cl);
} else
if (this instanceof SurfaceImpl) {
List<OrientableSurface> cs = new ArrayList<OrientableSurface>();
cs.add( (OrientableSurface) this);
return new CompositeSurfaceImpl(cs);
} else
if (this instanceof MultiPrimitiveImpl) {
// TODO
return null;
} else