@Override
    public Naming requireNonConstant(Preference preference) {
      switch (preference) {
      case SUFFIX:
        return new PrefixSuffixNaming("", Usage.CAPITALIZED.apply(name));
      case PREFIX:
      default:
        return new PrefixSuffixNaming(name, "");
      }
    }
@param template template string
@return naming that could be applied or detected following template
generator/src/org/immutables/generator/Naming.java