@Test
void pushContext() throws ExecutionContextException
{

    ReflectionUtils.setFieldValue(contextManager, "execution", execution);
    execution.pushContext(new ExecutionContext());
    execution.getContext().newProperty("inherited").inherited().initial("value").declare();
    contextManager.pushContext(new ExecutionContext(), true);
    assertNull(execution.getContext().getProperty("key"));
    assertNotNull(execution.getContext().getProperty("inherited"));
    contextManager.pushContext(new ExecutionContext(), false);
    assertEquals("value", ((List<String>) execution.getContext().getProperty("key")).get(0));
    assertNull(execution.getContext().getProperty("inherited"));
}