@Override
    public Naming requireNonConstant(Preference preference) {
      if (preference != Preference.PREFIX) {
        throw new IllegalArgumentException(String.format("Preference %s not supported by %s", preference, getClass().getSimpleName()));
      }
      return this;
    }
@param template template string
@return naming that could be applied or detected following template
generator/src/org/immutables/generator/Naming.java