public override IValue interpret(Context context) { IValue o = parent.interpret(context); if (o == null || o == NullValue.Instance) { throw new NullReferenceError(); } IValue i = item.interpret(context); if (i == null || i == NullValue.Instance) { throw new NullReferenceError(); } return(o.GetItem(context, i)); }