def find_vertical(str, offset = 0, length = str.length-offset)
      node = nil
      i = offset
      while (i<offset+length)
        c = str[i]
        if (node == nil)
          node = self.find_horizontal(c)
        elsif (node.down != nil)
          node = node.down.find_horizontal(c)
        else
          return nil
        end

        return nil if (node == nil)
        i += 1
      end
      node
    end
def find_vertical(str, offset = 0, length = str.length-offset)
      node = nil
      i = offset
      while (i<offset+length)
        c = str[i]
        if (node == nil)
          node = self.find_horizontal(c)
        elsif (node.down != nil)
          node = node.down.find_horizontal(c)
        else
          return nil
        end

        return nil if (node == nil)
        i += 1
      end
      node
    end
Find the given String str vertically by finding each character horizontally, then stepping down
 and repeating with the next character and so on. Return the last node if found, or nil if any
 horizontal search fails.
 Optionally, set the offset into the string and its length