class Cucumber::StepMother

def load_programming_language(ext)


twice will return the same instance.
Instances are cached, so calling with the same argument
Loads and registers programming language implementation.
def load_programming_language(ext)
  return @language_map[ext] if @language_map[ext]
  programming_language_class = constantize("Cucumber::#{ext.capitalize}Support::#{ext.capitalize}Language")
  programming_language = programming_language_class.new(self)
  @programming_languages << programming_language
  @language_map[ext] = programming_language
  programming_language
end