public DMNContext populateContextWith(Map<String, Object> json) {
        for (Entry<String, Object> kv : json.entrySet()) {
            InputDataNode idn = model.getInputByName(kv.getKey());
            if (idn != null) {
                processInputDataNode(kv, idn);
            } else {
                DecisionNode dn = model.getDecisionByName(kv.getKey());
                if (dn != null) {
                    processDecisionNode(kv, dn);
                } else {
                    LOG.debug("The key {} was not a InputData nor a Decision to override, setting it as-is.", kv.getKey());
                    context.set(kv.getKey(), kv.getValue());
                }
            }
        }
        return context;
    }
@Test
    void nextDays() throws Exception {
        final DMNRuntime runtime = createRuntime("nextDays.dmn", DMNRuntimeTypesTest.class);
        final DMNModel dmnModel = runtime.getModel("https://kiegroup.org/dmn/_8A1F9719-02AA-4517-97D4-5C4F5D22FE82", "nextDays");
        assertThat(dmnModel).isNotNull();
        assertThat(dmnModel.hasErrors()).as(DMNRuntimeUtil.formatMessages(dmnModel.getMessages())).isFalse();

        DMNContext context = runtime.newContext();
        final String JSON = "{\n" +
                            "    \"few dates\": [ \"2019-12-31\", \"2020-02-21\" ]\n" +
                            "}";
        new DynamicDMNContextBuilder(context, dmnModel).populateContextWith(readJSON(JSON));

        final DMNResult dmnResult = runtime.evaluateAll(dmnModel, context);
        LOG.debug("{}", dmnResult);
        assertThat(dmnResult.hasErrors()).as(DMNRuntimeUtil.formatMessages(dmnResult.getMessages())).isFalse();
        assertThat(dmnResult.getDecisionResultByName("Decision-1").getResult()).asList().containsExactly(LocalDate.of(2020, 1, 1), LocalDate.of(2020, 2, 22));
    }