### Question:
ClassNames { public static String normalizeBinaryName(CharSequence binaryName) { assertNotNull(binaryName); String name = binaryName.toString(); String packageName = ClassUtil.getPackageName(name); List<String> enclosingNames = ClassUtil.getEnclosingNames(name); String simpleName = ClassUtil.getSimpleName(name); String base = ""; if (packageName.length() > 0) { base = packageName + "."; } return base + enclosingNames.stream().map(n -> n + Constants.TYPE_NAME_DELIMITER).collect(joining()) + simpleName; }  static String normalizeBinaryName(CharSequence binaryName); static ClassName newEntityTypeClassName(CharSequence entityClassName); static ClassName newEmbeddableTypeClassName(CharSequence embeddedClassName); static ClassName newDomainTypeClassName(CharSequence domainClassName); static ClassName newExternalDomainTypeClassName(CharSequence externalDomainClassName); static ClassName newEntityMetamodelClassNameBuilder(
      CharSequence entityClassName, String metamodelPrefix, String metamodelSuffix);  }### Answer:
@Test void normalizeBinaryName() { assertEquals("Ccc", ClassNames.normalizeBinaryName("Ccc")); assertEquals("aaa.bbb.Ccc", ClassNames.normalizeBinaryName("aaa.bbb.Ccc")); assertEquals("aaa.bbb.Ccc__Ddd__Eee", ClassNames.normalizeBinaryName("aaa.bbb.Ccc$Ddd$Eee")); }