Passing Java objects to functions
Java objects must be instantiated
and referenced by a       program variable. The object reference is
stored in the variable and can be passed as a       parameter or returned
from a program function. The Java 
     objects are passed by reference to functions. This means that
the called function does not get       a clone of the object, but
rather a handle to the original object. The function can then    
  manipulate and modify the original object provided by the      
caller:
IMPORT JAVA java.lang.StringBuffer
MAIN
  DEFINE x java.lang.StringBuffer
  LET x = StringBuffer.create()
  CALL change(x)
  DISPLAY x.toString()
END MAIN
FUNCTION change(sb)
  DEFINE sb java.lang.StringBuffer
  CALL sb.append("abc")
END FUNCTIONSimilarly, Java object references
can be returned from       functions:
IMPORT JAVA java.lang.StringBuffer
MAIN
  DEFINE x java.lang.StringBuffer
  LET x = build()
  DISPLAY x.toString()
END MAIN
FUNCTION build()
  DEFINE sb java.lang.StringBuffer
  LET sb = StringBuffer.create()   -- Creates a new object.
  CALL sb.append("abc")
  RETURN sb  -- Returns the reference to the object, not a copy/clone.
END FUNCTION