code: func Construct(parts ...string) string {
  	pidx := 0
  	for _, v := range parts {
  		if v == "" {
  			continue
  		}
  		parts[pidx] = strings.Trim(v, StreamNameSepStr)
  		pidx++
  	}
  	return strings.Join(parts[:pidx], StreamNameSepStr)
  }
docs: // Construct builds a path string from a series of individual path components.
  // Any leading and trailing separators will be stripped from the components.
  //
  // The result value will be a valid StreamName if all of the parts are
  // valid StreamName strings. Likewise, it may be a valid StreamPath if
  // StreamPathSep is one of the parts.