    # File lib/compass/sass_extensions/functions/gradient_support.rb, line 243
        def radial_gradient(position_or_angle, shape_and_size, *color_stops)
          # Have to deal with variable length/meaning arguments.
          if color_stop?(shape_and_size)
            color_stops.unshift(shape_and_size)
            shape_and_size = nil
          elsif list_of_color_stops?(shape_and_size)
            # Support legacy use of the color-stops() function
            color_stops = shape_and_size.value + color_stops
            shape_and_size = nil
          end
          shape_and_size = nil if shape_and_size && !shape_and_size.to_bool # nil out explictly passed falses
          # ditto for position_or_angle
          if color_stop?(position_or_angle)
            color_stops.unshift(position_or_angle)
            position_or_angle = nil
          elsif list_of_color_stops?(position_or_angle)
            color_stops = position_or_angle.value + color_stops
            position_or_angle = nil
          end
          position_or_angle = nil if position_or_angle && !position_or_angle.to_bool

          # Support legacy use of the color-stops() function
          if color_stops.size == 1 && list_of_color_stops?(color_stops.first)
            color_stops = color_stops.first.value
          end
          RadialGradient.new(position_or_angle, shape_and_size, send(:color_stops, *color_stops))
        end