BaseCoverageProcessingNode implements
		CoverageProcessingNode { public boolean addSource(CoverageProcessingNode source) { ensureNotNull(source, "CoverageProcessingNode"); checkNumSources(1); if (this.sources.add(source)) { cleanOutput(); detectCycle(); return true; } return false; } 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 addSource() { Assert.assertNotNull(testedObject2.getOutput()); Assert.assertNotNull(testedObject2.getOutput()); testedObject2.addSource((testedObject)); testedObject.addSink((testedObject2)); try { testedObject2.addSink((testedObject)); Assert.assertTrue(false); } catch (IllegalStateException e) { } Assert.assertNotNull(testedObject2.getOutput()); testedObject2.dispose(true); }