... call 3.1
  Please note that this is completely consistent with C, where `NSPoint` is a struct, which is passed to the called function by value - the Objective-C function/method can not modify the original `NSPoint` argument, because it is only given a local copy of it. This works from Java in the same way: you pass to your method a Java `NSPoint` object as the argument; the method will not modify it. This is an important point if you want to compare JIGS with Apple's Java Bridge. Recent releases of Apple's OPENSTEP-like environment add a flock of new C types to their Foundation library - namely, `NSPointPointer`, `NSSizePointer`, `NSRectPointer`, `NSRangePointer`, `NSPointArray`, `NSSizeArray`, `NSRectArray` and `NSRangeArray` - which are then all mapped in a different way to Java; correspondingly, they have different Java classes (for example they have `NSMutablePoint`, corresponding to their new C type `NSPointPointer`). GNUstep will possibly have these C types for compatibility with Apple, but their use is discouraged, and the same must be said for future implementation of `NSMutablePoint` and similar. JIGS's wrapping of `NSPoint` has been designed to be as easy, intuitive and fast as possible - and in the spirit of the original OPENSTEP design/specification.

      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .

... class 3.2
  The Apple Java Bridge has the same memory management problem, but it does not provide this method, so on their platform the Java programmer has to use a hack (an auxiliary array) to deal with it.

      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .
      .