@Override
 public String getJavaMethodName(Definition definition, Mode mode) {
   String methodName;
   methodName = delegate.getJavaMethodName(definition, mode);
   methodName = overload(definition, mode, methodName);
   methodName = GenerationUtil.convertToJavaIdentifier(methodName);
   return methodName;
 }
 @Override
 public String getJavaPackageName(Definition definition, Mode mode) {
   String[] split = delegate.getJavaPackageName(definition, mode).split("\\.");
   for (int i = 0; i < split.length; i++) {
     split[i] = GenerationUtil.convertToJavaIdentifier(split[i]);
   }
   return StringUtils.join(split, ".");
 }
 @Override
 public String getJavaMemberName(Definition definition, Mode mode) {
   String identifier =
       GenerationUtil.convertToJavaIdentifier(delegate.getJavaMemberName(definition, mode));
   // [#2781] Disambiguate collisions with the leading package name
   if (identifier.equals(getJavaPackageName(definition, mode).replaceAll("\\..*", ""))) {
     return identifier + "_";
   }
   return identifier;
 }
 @Override
 public String getJavaClassName(Definition definition, Mode mode) {
   if (definition instanceof SchemaDefinition
       && ((SchemaDefinition) definition).isDefaultSchema()) {
     return "DefaultSchema";
   }
   String className;
   className = delegate.getJavaClassName(definition, mode);
   className = overload(definition, mode, className);
   className = GenerationUtil.convertToJavaIdentifier(className);
   return className;
 }
 @Override
 public String getJavaIdentifier(Definition definition) {
   if (definition instanceof SchemaDefinition
       && ((SchemaDefinition) definition).isDefaultSchema()) {
     return "DEFAULT_SCHEMA";
   }
   String identifier =
       GenerationUtil.convertToJavaIdentifier(delegate.getJavaIdentifier(definition));
   if (definition instanceof ColumnDefinition) {
     TypedElementDefinition<?> e = (TypedElementDefinition<?>) definition;
     if (identifier.equals(getJavaIdentifier(e.getContainer()))) {
       return identifier + "_";
     }
     if (identifier.equals(getJavaPackageName(e.getContainer()).replaceAll("\\..*", ""))) {
       return identifier + "_";
     }
   }
   return identifier;
 }
 @Override
 public String getJavaGetterName(Definition definition, Mode mode) {
   return GenerationUtil.convertToJavaIdentifier(delegate.getJavaGetterName(definition, mode));
 }