class_docstr: Optional base class for fixers.
  
  The subclass name must be FixFooBar where FooBar is the result of
  removing underscores and capitalizing the words of the fix name.
  For example, the class name for a fixer named 'has_key' should be
  FixHasKey.
class_docstr_tok: ["Optional","base","class","for","fixers",".","The","subclass","name","must","be","FixFooBar","where","FooBar","is","the","result","of","removing","underscores","and","capitalizing","the","words","of","the","fix","name",".","For","example",",","the","class","name","for","a","fixer","named","'has_key","'","should","be","FixHasKey","."]
docstr: Return a string suitable for use as an identifier
  
  The new name is guaranteed not to conflict with other identifiers.
docstr_tok: ["Return","a","string","suitable","for","use","as","an","identifier","The","new","name","is","guaranteed","not","to","conflict","with","other","identifiers","."]
code: def new_name(self, template="xxx_todo_changeme"):
      """Return a string suitable for use as an identifier
  
      The new name is guaranteed not to conflict with other identifiers.
      """
      name = template
      while name in self.used_names:
          name = template + unicode(self.numbers.next())
      self.used_names.add(name)
      return name
  
imports: import itertools
  from .patcomp import PatternCompiler
  from .None import pygram
  from .fixer_util import does_tree_import
label_desc: Use image node_id 6 for calling the BaseFix obj's underlying member method code with example usage: obj.new_name(template) and returns: name