# File lib/jmespath/nodes/slice.rb, line 12
      def visit(value)
        if String === value || Array === value
          start, stop, step = adjust_slice(value.size, @start, @stop, @step)
          result = []
          if step > 0
            i = start
            while i < stop
              result << value[i]
              i += step
            end
          else
            i = start
            while i > stop
              result << value[i]
              i += step
            end
          end
          String === value ? result.join : result
        else
          nil
        end
      end