# File lib/ruote/reader/radial.rb, line 269
    def self.read(s, opt=nil)

      parser = Parser.new
      transformer = Transformer.new

      lines = parser.parse("\n#{s}\n")
      nodes = transformer.apply(lines)

      root = PreRoot.new("#{s.strip.split("\n").first}...")
      current = root

      nodes = [] unless nodes.is_a?(Array)
        # force ArgumentError via empty PreRoot

      nodes.each do |node|

        parent = current

        if node.indentation == current.indentation
          parent = current.parent
        elsif node.indentation < current.indentation
          while node.indentation <= parent.indentation
            parent = parent.parent
          end
        end

        node.parent = parent
        current = node
      end

      root.to_a
    end