public static boolean needsQuotes(final String identifier) {
    return !(isValid(identifier) && upperCase(identifier));
  }
@Test
  public void shouldNotNeedBackQuotes() {
    // Given:
    final String[] identifiers = new String[]{
        "FOO",      // nothing special
        "TABLES",   // in vocabulary but non-reserved
        "`SELECT`"  // already has back quotes
    };

    // Then:
    for (final String identifier : identifiers) {
      assertThat("Expected no quotes for " + identifier, !IdentifierUtil.needsQuotes(identifier));
    }
  }