@Override
  public Object parse(final String property, final Object value) {
    if (property.equalsIgnoreCase(KsqlConstants.LEGACY_RUN_SCRIPT_STATEMENTS_CONTENT)) {
      validator.validate(property, value);
      return value;
    }

    final ConfigItem configItem = resolver.resolve(property, true)
        .orElseThrow(() -> new PropertyNotFoundException(property));

    final Object parsedValue = configItem.parseValue(value);

    validator.validate(configItem.getPropertyName(), parsedValue);
    return parsedValue;
  }
@Test
  public void shouldThrowIfResolverFailsToResolve() {
    // Given:
    when(resolver.resolve(anyString(), anyBoolean()))
        .thenReturn(Optional.empty());

    // When:
    final IllegalArgumentException e = assertThrows(
        IllegalArgumentException.class,
        () -> parser.parse("Unknown", "100")
    );

    // Then:
    assertThat(e.getMessage(), containsString(
        "Not recognizable as ksql, streams, consumer, or producer property: 'Unknown'"
    ));
  }