code: func (p *Limit) MarshalJSON() ([]byte, error) {
  	child := p.children[0].(PhysicalPlan)
  	buffer := bytes.NewBufferString("{")
  	buffer.WriteString(fmt.Sprintf(
  		" \"limit\": %d,\n"+
  			" \"offset\": %d,\n"+
  			" \"child\": \"%s\"}", p.Count, p.Offset, child.GetID()))
  	return buffer.Bytes(), nil
  }
docs: // MarshalJSON implements json.Marshaler interface.