BaseCoverageProcessingNode implements
		CoverageProcessingNode { public void dispose(boolean force) { if (disposed) return; if (output != null) output.dispose(force); final Iterator<CoverageProcessingNode>it = sources.iterator(); while (it.hasNext()) { final CoverageProcessingNode source = it.next(); source.removeSink(this); } sources.clear(); sinks.clear(); disposed = true; if(LOGGER.isLoggable(Level.FINE)) LOGGER.fine("disposed node \n" + this.toString()); } BaseCoverageProcessingNode(InternationalString name,
			InternationalString description);  BaseCoverageProcessingNode(int maxSources, InternationalString name,
			InternationalString description);  BaseCoverageProcessingNode(int maxSources, Hints hints,
			InternationalString name, InternationalString description); void dispose(boolean force); GridCoverage2D getOutput(); void addSink(CoverageProcessingNode sink); boolean addSource(CoverageProcessingNode source); CoverageProcessingNode getSink(int index); List<CoverageProcessingNode> getSinks(); CoverageProcessingNode getSource(int index); List<CoverageProcessingNode> getSources(); boolean removeSink(CoverageProcessingNode sink); CoverageProcessingNode removeSink(int index); boolean removeSource(CoverageProcessingNode source); Hints getHints(); int getMaximumNumberOfSources(); GridCoverageFactory getCoverageFactory(); int getNumberOfSinks(); int getNumberOfSources(); InternationalString getDescription(); InternationalString getName(); CoverageProcessingNode removeSource(int index); String toString(); boolean isDisposed(); boolean isExecuted();  }
@Test public final void dispose() { Assert.assertNotNull(testedObject.getOutput()); testedObject.dispose(true); testedObject.dispose(true); try { testedObject.getOutput(); Assert.assertTrue(false); } catch (Exception e) { } }