### Question:
ExtractorModel extends FeatureModel implements Extractor, Recyclable { @Override public void removeListener(ExtractorListener listener) { listenable.removeListener(listener); } ExtractorModel(Services services, Setup setup); @Override void prepare(FeatureProvider provider); @Override void checkListener(Object listener); @Override void addListener(ExtractorListener listener); @Override void removeListener(ExtractorListener listener); @Override void setChecker(ExtractorChecker checker); @Override void update(double extrp); @Override void startExtraction(); @Override void stopExtraction(); @Override boolean isExtracting(); @Override void setResource(Extractable extractable); @Override void setResource(String type, Tiled tiled); @Override void setResource(String type, int tx, int ty, int tw, int th); @Override void setExtractionSpeed(double count); @Override void setDropOffSpeed(double count); @Override void setCapacity(int capacity); @Override int getExtractionCapacity(); @Override double getExtractionSpeed(); @Override double getDropOffSpeed(); @Override Tiled getResourceLocation(); @Override String getResourceType(); @Override void recycle();  }### Answer:
@Test void testRemoveListener() { final AtomicBoolean check = new AtomicBoolean(); final Extractor extractor = new ExtractorModel(services, setup); final ExtractorListener listener = new ExtractorListenerVoid() { @Override public void notifyStartGoToRessources(String type, Tiled resourceLocation) { check.set(true); } }; extractor.addListener(listener); extractor.prepare(new FeaturableModel(services, setup)); extractor.startExtraction(); assertTrue(check.get()); extractor.removeListener(listener); check.set(false); extractor.startExtraction(); assertFalse(check.get()); }