ExecutionContext { public Map<String, Object> getProperties() { Map<String, Object> map = new HashMap<>(); for (Map.Entry<String, ExecutionContextProperty> entry : this.properties.entrySet()) { map.put(entry.getKey(), entry.getValue().getValue()); } return map; }  Object getProperty(String key); DeclarationBuilder newProperty(String key); boolean hasProperty(String key); Map<String, Object> getProperties(); void removeProperty(String key); void setProperty(String key, Object value); void setProperties(Map<String, Object> properties); void inheritFrom(ExecutionContext executionContext);  }
@Test void getProperties() { ExecutionContext context = new ExecutionContext(); context.setProperty("key", "value"); Map<String, Object> properties = context.getProperties(); assertEquals(1, properties.size()); assertEquals("value", properties.get("key")); }