@Override
  public boolean test(final String functionName) {
    if (functionName == null
        || functionName.trim().isEmpty()
        || JAVA_RESERVED_WORDS.contains(functionName.toLowerCase())
        || KSQL_RESERVED_WORDS.contains(functionName.toLowerCase())) {
      return false;
    }
    return isValidJavaIdentifier(functionName);

  }
@Test
  public void shouldNotAllowJavaReservedWords() {
    // not exhaustive..
    assertFalse(validator.test("enum"));
    assertFalse(validator.test("static"));
    assertFalse(validator.test("final"));
    assertFalse(validator.test("do"));
    assertFalse(validator.test("while"));
    assertFalse(validator.test("double"));
    assertFalse(validator.test("float"));
    assertFalse(validator.test("private"));
    assertFalse(validator.test("public"));
    assertFalse(validator.test("goto"));
    assertFalse(validator.test("default"));
  }