SnapOperatorAdapter extends SubsetProcessorAdapter { @Override public Product openProcessedProduct() { return targetProduct; } SnapOperatorAdapter(MapContext mapContext); @Override boolean processSourceProduct(MODE mode, ProgressMonitor pm); @Override Product openProcessedProduct(); @Override void saveProcessedProducts(ProgressMonitor pm); @Override void dispose(); static Map<String, Object> getOperatorParameterMap(Product inputProduct, 
                                                              String operatorName, 
                                                              String level2Parameters);  }
@Test public void testProductSplit() throws Exception { Product sourceProduct = createSourceProduct(); ProductSplit productSplit = new ProductSplit(null, 42L, new String[0], 10, 20); SnapOperatorAdapter snapOperatorAdapter = createProcessorAdapter(productSplit, sourceProduct); Product targetProduct = snapOperatorAdapter.openProcessedProduct(); Rectangle rectangle = snapOperatorAdapter.getInputRectangle(); assertNotSame(sourceProduct, targetProduct); assertEquals(100, rectangle.width); assertEquals(20, rectangle.height); }