private void genericCompositionTest(DataMap data1, DataMap data2,
DataMap expected, String description) throws DataProcessingException, CloneNotSupportedException {
String dataBefore = data1.toString();
String data2Clone = data2.toString();
DataComplexProcessor processor = new DataComplexProcessor(new MaskComposition(), data2, data1);
processor.run(false);
assertEquals(data1, expected, "The following test failed: \n" + description +
"\nData1: " + dataBefore + "\nData2: " + data2 +
"\nExpected: " + expected + "\nActual result: " + data1);
assertEquals(data2.toString(), data2Clone, "Operation data should not be modified");
}