### Question:
NewZealandMapGrid extends UnitaryProjection { @Override public Matrix transform(final double[] srcPts, final int srcOff, final double[] dstPts, final int dstOff, final boolean derivate) throws ProjectionException { if (dstPts != null) { final double dphi = srcPts[srcOff + 1]; double dphi_pow_i = dphi; double dpsi = 0; for (int i=0; i<TPSI.length; i++) { dpsi += (TPSI[i] * dphi_pow_i); dphi_pow_i *= dphi; } final Complex theta = new Complex(dpsi, srcPts[srcOff]); final Complex power = new Complex(theta); final Complex z = new Complex(); z.multiply(A[0], power); for (int i=1; i<A.length; i++) { power.multiply(power, theta); z.addMultiply(z, A[i], power); } dstPts[dstOff ] = z.imag; dstPts[dstOff+1] = z.real; } if (derivate) { throw new ProjectionException(Errors.format(Errors.Keys.CantComputeDerivative)); } return null; } protected  NewZealandMapGrid(final OperationMethod method, final Parameters parameters); static MathTransform2D create(final OperationMethod descriptor,
                                         final ParameterValueGroup values); @Override Matrix transform(final double[] srcPts, final int srcOff,
                            final double[] dstPts, final int dstOff,
                            final boolean derivate);  }### Answer:
@Test public void testTransform() throws TransformException { final double[] dst = new double[6]; transform.transform(GEOGRAPHIC, 0, dst, 0, 3); for (int i=0; i<PROJECTED.length; i++) { assertEquals(PROJECTED[i], dst[i], 0.1); } }