@Test
public void modifyExpressionValue() {

    AbstractFormItem<String> formItem = formItem(true);
    formItem.setModified(false);
    formItem.setUndefined(true);
    formItem.modifyExpressionValue("${foo:bar}");
    assertNull(formItem.getValue());
    assertEquals("${foo:bar}", formItem.getExpressionValue());
    assertTrue(formItem.isModified());
    assertFalse(formItem.isUndefined());
    ArgumentMatcher<ExpressionContext> eqExpr = ec -> "${foo:bar}".equals(ec.expression);
    verify(readOnlyAppearance, never()).apply(eq(EXPRESSION), argThat(eqExpr));
    verify(editingAppearance, never()).apply(eq(EXPRESSION), argThat(eqExpr));
}