if (shapeIdx < (shapes.length - 1)) {
figureStopIdx = shapes[shapeIdx + 1].figureOffset - 1;
}
List<LinearRing> linearRings = Lists.newArrayList();
for (int i = figureOffset; i <= figureStopIdx; i++) {
linearRings.add(new LinearRing(createPoints(i)));
}
return new Polygon(linearRings.toArray(new LinearRing[0]));
}