### Question:
PolygonHandler extends AbstractShapeHandler { public PolygonHandler(final boolean read3D) { super(ShapeType.POLYGON,read3D); } PolygonHandler(final boolean read3D);  PolygonHandler(final ShapeType type, final boolean read3D); @Override ShapeType getShapeType(); @Override int getLength(final Object geometry); @Override Geometry estimated(final double minX, final double maxX, final double minY, final double maxY); @Override Geometry read(final ByteBuffer buffer, final ShapeType type); @Override void write(final ByteBuffer buffer, final Object geometry);  }### Answer:
@Test public void testPolygonHandler() { Coordinate[] c = new Coordinate[3]; c[0] = new Coordinate(0, 0, 0); c[1] = new Coordinate(1, 1, Double.NaN); c[2] = new Coordinate(1, 2, 3); PolygonHandler handler = new PolygonHandler(true); assertTrue(handler.getShapeType() == ShapeType.POLYGON); for (int i = 0, ii = c.length; i < ii; i++) { assertTrue(handler.pointInList(c[i], c)); } }