+- ApexFile[@DefiningType = "NullCoalescingOperator", @RealLoc = true]
   +- UserClass[@DefiningType = "NullCoalescingOperator", @Image = "NullCoalescingOperator", @InterfaceNames = (), @Nested = false, @RealLoc = true, @SimpleName = "NullCoalescingOperator", @SuperClassName = ""]
      +- ModifierNode[@Abstract = false, @DefiningType = "NullCoalescingOperator", @DeprecatedTestMethod = false, @Final = false, @Global = false, @InheritedSharing = false, @Modifiers = 1, @Override = false, @Private = false, @Protected = false, @Public = true, @RealLoc = true, @Static = false, @Test = false, @TestOrTestSetup = false, @Transient = false, @Virtual = false, @WebService = false, @WithSharing = false, @WithoutSharing = false]
      +- Method[@Arity = 2, @CanonicalName = "leftOrRight", @Constructor = false, @DefiningType = "NullCoalescingOperator", @Image = "leftOrRight", @RealLoc = true, @ReturnType = "String", @StaticInitializer = false]
         +- ModifierNode[@Abstract = false, @DefiningType = "NullCoalescingOperator", @DeprecatedTestMethod = false, @Final = false, @Global = false, @InheritedSharing = false, @Modifiers = 1, @Override = false, @Private = false, @Protected = false, @Public = true, @RealLoc = true, @Static = false, @Test = false, @TestOrTestSetup = false, @Transient = false, @Virtual = false, @WebService = false, @WithSharing = false, @WithoutSharing = false]
         +- Parameter[@DefiningType = "NullCoalescingOperator", @Image = "leftHand", @RealLoc = true, @Type = "String"]
         |  +- ModifierNode[@Abstract = false, @DefiningType = "NullCoalescingOperator", @DeprecatedTestMethod = false, @Final = false, @Global = false, @InheritedSharing = false, @Modifiers = 0, @Override = false, @Private = false, @Protected = false, @Public = false, @RealLoc = false, @Static = false, @Test = false, @TestOrTestSetup = false, @Transient = false, @Virtual = false, @WebService = false, @WithSharing = false, @WithoutSharing = false]
         +- Parameter[@DefiningType = "NullCoalescingOperator", @Image = "rightHand", @RealLoc = true, @Type = "String"]
         |  +- ModifierNode[@Abstract = false, @DefiningType = "NullCoalescingOperator", @DeprecatedTestMethod = false, @Final = false, @Global = false, @InheritedSharing = false, @Modifiers = 0, @Override = false, @Private = false, @Protected = false, @Public = false, @RealLoc = false, @Static = false, @Test = false, @TestOrTestSetup = false, @Transient = false, @Virtual = false, @WebService = false, @WithSharing = false, @WithoutSharing = false]
         +- BlockStatement[@CurlyBrace = true, @DefiningType = "NullCoalescingOperator", @RealLoc = true]
            +- ReturnStatement[@DefiningType = "NullCoalescingOperator", @RealLoc = true]
               +- BinaryExpression[@DefiningType = "NullCoalescingOperator", @Op = BinaryOperator.NULL_COALESCING, @RealLoc = true]
                  +- VariableExpression[@DefiningType = "NullCoalescingOperator", @Image = "leftHand", @RealLoc = true]
                  |  +- EmptyReferenceExpression[@DefiningType = null, @RealLoc = false]
                  +- VariableExpression[@DefiningType = "NullCoalescingOperator", @Image = "rightHand", @RealLoc = true]
                     +- EmptyReferenceExpression[@DefiningType = null, @RealLoc = false]
