@Test
 public void testBuilderRunWithContextBeingPassed() throws Exception {
   DataFlowInstance dataFlowInstance = new DataFlowInstance();
   dataFlowInstance.setId("testflow");
   dataFlowInstance.setDataFlow(dataFlow);
   {
     DataBuilderContext context = new DataBuilderContext();
     context.saveContextData(KEY, VALUE);
     DataDelta dataDelta =
         new DataDelta(
             Lists.newArrayList(
                 new TestDataA("Hello"), new TestDataB("World"),
                 new TestDataD("this"), new TestDataG("Hmmm")));
     DataExecutionResponse response = executor.run(dataFlowInstance, dataDelta);
     Assert.assertEquals(3, response.getResponses().size());
     Assert.assertTrue(response.getResponses().containsKey("C"));
     Assert.assertTrue(response.getResponses().containsKey("E"));
     Assert.assertTrue(response.getResponses().containsKey("F"));
   }
 }
 @Override
 public void beforeExecute(
     DataBuilderContext builderContext,
     DataFlowInstance dataFlowInstance,
     DataBuilderMeta builderToBeApplied,
     DataDelta dataDelta,
     Map<String, Data> prevResponses)
     throws Exception {
   Assert.assertNotNull(builderContext);
   Assert.assertEquals(builderContext.getContextData(KEY, String.class), VALUE);
 }
 @Override
 public void afterException(
     DataBuilderContext builderContext,
     DataFlowInstance dataFlowInstance,
     DataBuilderMeta builderToBeApplied,
     DataDelta dataDelta,
     Map<String, Data> prevResponses,
     Throwable frameworkException)
     throws Exception {
   Assert.assertNotNull(builderContext);
   Assert.assertEquals(builderContext.getContextData(KEY, String.class), VALUE);
 }