     value = '' if value == null
 
     if typeof value == 'string'
-      select_options += stringOption(value, selected_selector, disabled_selector)
+      select_options += stringOption.call(this, value, selected_selector, disabled_selector)
     if value instanceof Array
       [ content, value_option, options ] = if value.length == 3
-        [ value[0], value[1], H._clone(value[2]) ]
+        [ value[0], value[1], @_clone(value[2]) ]
       else if value.length == 2
         if typeof value[1] == 'object'
-          [ value[0], value[0], H._clone(value[1]) ]
+          [ value[0], value[0], @_clone(value[1]) ]
         else
           [ value[0], value[1], {} ]
       else

    selectors['selected'].push(value) if selected_selector(object)
    selectors['disabled'].push(value) if disabled_selector(object)

  H.optionsForSelect container, selectors

helper 'groupedOptionsForSelect', (grouped_options, selectors, options = {}) ->
  [ selected_selector, disabled_selector ] = selectorForOptions selectors

    prompt = if typeof options['prompt'] == 'string' || options['prompt'] == 'number'
      options['prompt'].toString()
    else
      @translate 'helpers.select.prompt', default: 'Please select'
    options_for_select += @contentTag( 'option', @htmlEscape(prompt), { value: '' } )

  for index, options_in_group of grouped_options
    [ options_in_group, optgroup_options ] = if options['divider']
