func NodeFromNodePb(n *NodePb) Node {
	if n == nil {
		return nil
	}
	switch {
	case n.Bn != nil:
		var bn *BinaryNode
		return bn.FromPB(n)
	case n.Booln != nil:
		var bn *BooleanNode
		return bn.FromPB(n)
	case n.Un != nil:
		var un *UnaryNode
		return un.FromPB(n)
	case n.Fn != nil:
		var fn *FuncNode
		return fn.FromPB(n)
	case n.Tn != nil:
		var tn *TriNode
		return tn.FromPB(n)
	case n.An != nil:
		var an *ArrayNode
		return an.FromPB(n)
	case n.Nn != nil:
		var nn *NumberNode
		return nn.FromPB(n)
	case n.Vn != nil:
		var vn *ValueNode
		return vn.FromPB(n)
	case n.In != nil:
		var in *IdentityNode
		return in.FromPB(n)
	case n.Sn != nil:
		var sn *StringNode
		return sn.FromPB(n)
	case n.Incn != nil:
		var in *IncludeNode
		return in.FromPB(n)
	case n.Niln != nil:
		return &NullNode{}
	}
	return nil
}
// NodeFromNodePb Create a node from pb
NodeFromNodePb Create a node from pb
// NodeFromNodePb Create a node from pb
func NodeFromNodePb(n *NodePb) Node {
	if n == nil {
		return nil
	}
	switch {
	case n.Bn != nil:
		var bn *BinaryNode
		return bn.FromPB(n)
	case n.Booln != nil:
		var bn *BooleanNode
		return bn.FromPB(n)
	case n.Un != nil:
		var un *UnaryNode
		return un.FromPB(n)
	case n.Fn != nil:
		var fn *FuncNode
		return fn.FromPB(n)
	case n.Tn != nil:
		var tn *TriNode
		return tn.FromPB(n)
	case n.An != nil:
		var an *ArrayNode
		return an.FromPB(n)
	case n.Nn != nil:
		var nn *NumberNode
		return nn.FromPB(n)
	case n.Vn != nil:
		var vn *ValueNode
		return vn.FromPB(n)
	case n.In != nil:
		var in *IdentityNode
		return in.FromPB(n)
	case n.Sn != nil:
		var sn *StringNode
		return sn.FromPB(n)
	case n.Incn != nil:
		var in *IncludeNode
		return in.FromPB(n)
	case n.Niln != nil:
		return &NullNode{}
	}
	return nil
}
func NodeFromNodePb ( n * NodePb ) Node { if n == nil { return nil } switch { case n . Bn != nil : var bn * BinaryNode return bn . FromPB ( n ) case n . Booln != nil : var bn * BooleanNode return bn . FromPB ( n ) case n . Un != nil : var un * UnaryNode return un . FromPB ( n ) case n . Fn != nil : var fn * FuncNode return fn . FromPB ( n ) case n . Tn != nil : var tn * TriNode return tn . FromPB ( n ) case n . An != nil : var an * ArrayNode return an . FromPB ( n ) case n . Nn != nil : var nn * NumberNode return nn . FromPB ( n ) case n . Vn != nil : var vn * ValueNode return vn . FromPB ( n ) case n . In != nil : var in * IdentityNode return in . FromPB ( n ) case n . Sn != nil : var sn * StringNode return sn . FromPB ( n ) case n . Incn != nil : var in * IncludeNode return in . FromPB ( n ) case n . Niln != nil : return & NullNode { } } return nil }
NodeFromNodePb Create a node from pb
NodeFromNodePb Create a node from pb