using<D extends Disposable> function
Use a Disposable and dispose of it right away.
Implementation
void using<D extends Disposable>(Disposable disposable, DisposableBlock block) {
ArgumentError.checkNotNull(disposable, "disposable can't be null");
ArgumentError.checkNotNull(block, "block can't be null");
block(disposable);
disposable.dispose();
}