public class ${dollar}name${dollar}Column extends ${dollar}super${dollar} {
  @java.lang.Override
  protected java.lang.String getConfiguredHeaderText() {
    return ${TEXTS}.get("${dollar}nls${dollar}");
  }

  @java.lang.Override
  protected int getConfiguredWidth() {
    return ${dollar}width${dollar};
  }${dollar}END${dollar}
}