In DXL, how do I check whether a variable holds a null value after passing it to a function as a reference? The usual method using `(null variableName)` doesn't seem to be working properly:

```
void valueBasedNullTest(Buffer b) {
  print "Value based: "
  print "null b => "
  if (null b) {
    print "true"
  } else {
    print "false"
  }
  print "\n"
}

void referenceBasedNullTest(Buffer &b) {
  print "Reference based: "
  print "null b => "
  if (null b) {
    print "true"
  } else {
    print "false"
  }
  print "\n"
}

Buffer someBuffer = null
valueBasedNullTest(someBuffer)
referenceBasedNullTest(someBuffer)

```

Result:

```
Value based: null b => true
Reference based: null b => false

```

I'm currently running Rational DOORS 9.2.

Why is this happening, and how can I work around it?