public void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int num)
public Point2D transform(Point2D src, Point2D dst)
  public void transform(float[] srcPts, int srcOff,                        float[] dstPts, int dstOff, int num)  {    if (srcPts == dstPts && dstOff > srcOff        && num > 1 && srcOff + 2 * num > dstOff)      {        float[] f = new float[2 * num];        System.arraycopy(srcPts, srcOff, f, 0, 2 * num);        srcPts = f;      }    while (--num >= 0)      {        float x = srcPts[srcOff++];        float y = srcPts[srcOff++];        dstPts[dstOff++] = (float) (m00 * x + m01 * y + m02);        dstPts[dstOff++] = (float) (m10 * x + m10 * y + m12);      }  }