*/
public final void registerCleanable(final CalFunction /* ()->() */cleanupFunction) {
if (cleanupFunction == null) {
throw new NullPointerException();
}
registerCleanable(new Cleanable() {
public void cleanup() {
// Invoke the CAL cleanup function.
// The argument value will be ingored anyway.
cleanupFunction.evaluate(UnitValue.UNIT);
}