code: func (p *binParser) parse() *Graph {
  
  	if p == nil || !p.header() {
  		return nil
  	}
  
  	ev := &SimpleEventHandler{}
  
  	for {
  		lev, bin, b := p.line(true)
  		if lev == 0 {
  			break
  		}
  		// Store the content in the same format as it was sent (string or []byte)
  		if bin {
  			ev.AddBytesAt(b, lev-1)
  		} else {
  			ev.AddAt(string(b), lev-1)
  		}
  	}
  	return ev.Tree()
  }
docs: // Parse parses a binary OGDL stream and returns a Graph.