Closes the sink.
Calling this method more than once is allowed, but does nothing.
Neither add nor addError must be called after this method.
@override Future<void> close() => _closeMemo.runOnce(onClose);