@VisibleForTesting
  static String fromSecondLevel(String qualifiedTemplateClass) {
    List<String> path = Splitter.on('.').splitToList(qualifiedTemplateClass);
    for (int topLevel = 0; topLevel < path.size() - 1; topLevel++) {
      if (Ascii.isUpperCase(path.get(topLevel).charAt(0))) {
        return Joiner.on('_').join(path.subList(topLevel + 1, path.size()));
      }
    }
    return Iterables.getLast(path);
  }
@Test
  public void fromSecondLevel() {
    assertThat(
            RefasterRule.fromSecondLevel(
                "com.google.devtools.javatools.refactory.refaster.cleanups.MergeNestedIf"))
        .isEqualTo("MergeNestedIf");
    assertThat(
            RefasterRule.fromSecondLevel(
                "com.google.devtools.javatools.refactory.refaster.cleanups.HashingShortcuts.HashEntireByteArray"))
        .isEqualTo("HashEntireByteArray");
    assertThat(
            RefasterRule.fromSecondLevel(
                "com.google.devtools.javatools.refactory.refaster.cleanups.PrimitiveComparisons.Compare.Ints"))
        .isEqualTo("Compare_Ints");
  }