// create the interior ring and a list of empty interior rings (holes)
Ring extRing = tPrimFactory.createRing(orientableCurves);
List<Ring> intRings = new ArrayList<Ring>();
// create the surfaceboundary from the rings
SurfaceBoundary sb = tPrimFactory.createSurfaceBoundary(extRing, intRings);
// create the surface
Surface surface22 = tPrimFactory.createSurface(sb);
// get rings
SurfaceBoundary sb2 = (SurfaceBoundary) surface22.getBoundary();
Ring exterior = sb2.getExterior();
List<Ring> interiors2 = sb2.getInteriors();
Collection<? extends Primitive> extCurve = exterior.getElements();
Iterator<? extends Primitive> iter = extCurve.iterator();
PointArray samplePoints = null;
while (iter.hasNext()) {
Curve curve2 = (Curve) iter.next();