Fix MAGN-2317

@lukechurch

This submission takes use of the following commit:
https://github.com/DynamoDS/Dynamo/commit/a567190311f09f4a8c7acab087d27a94783471d6

The submission make some changes to the original code to fix several errors because some code has changed ever since.

This submission fixes magn-2317.
In this context, I think == is ok because there is no intention to check when the referenced objects are different but the value is the same.