@override Object? get(Token name) { switch (name.lexeme) { case 'add': return SinkAddBuilder(sink); case 'close': return sink.close; } throw "Unknown property: ${name.lexeme}"; }