@Override protected void disposeUnreferenced() { this.dispose(); }
@Override public void dispose() throws RheemException { try { this.doDispose(); } catch (Throwable t) { throw new RheemException(String.format("Releasing %s failed.", this), t); } finally { if (this.container != null) { this.container.unregister(this); this.container.noteDiscardedReference(true); } } }