func (termSet *TermSet) Select(props string) *TermSet {
	termSet.selectProps = appendTaxonomyProp(termSet.selectProps, props)
	return termSet
}
Select adds select props to term set query
package api
import (
	"fmt"
	"strings"
	"github.com/koltyakov/gosip/csom"
)
type TermSets struct {
	client   *HTTPClient
	config   *RequestConfig
	endpoint string
	csomEntry csom.Builder
}
func (termSets *TermSets) csomBuilderEntry() csom.Builder {
	b := termSets.csomEntry.Clone()
	return b
}
func (termSets *TermSets) Get() ([]map[string]interface{}, error) {
	b := termSets.csomBuilderEntry().Clone()
	b.AddAction(csom.NewQueryWithProps([]string{
		`<Property Name="TermSets" SelectAll="true" />`,
	}), nil)
	return csomRespChildItemsInProp(termSets.client, termSets.endpoint, termSets.config, b, "TermSets")
}
func (termSets *TermSets) GetByID(setGUID string) *TermSet {
	return &TermSet{
		client:   termSets.client,
		endpoint: termSets.endpoint,
		config:   termSets.config,
		id: trimTaxonomyGUID(setGUID),
		csomEntry:   termSets.csomBuilderEntry().Clone(),
		selectProps: []string{},
	}
}
func (termSets *TermSets) GetByName(termSetName string, lcid int) ([]map[string]interface{}, error) {
	b := csom.NewBuilder()
	objs := termSets.csomBuilderEntry().GetObjects()
	b.AddObject(csom.NewObject(objs[1].Template()), nil)  
	b.AddObject(csom.NewObject(objs[2].Template()), nil)  
	if strings.Index(objs[2].Template(), "TermStores") != -1 {
		b.AddObject(csom.NewObject(objs[3].Template()), nil)  
	}
	b.AddObject(csom.NewObjectMethod("GetTermSetsByName", []string{
		fmt.Sprintf(`<Parameter Type="String">%s</Parameter>`, termSetName),
		fmt.Sprintf(`<Parameter Type="Number">%d</Parameter>`, lcid),
	}), nil)
	b.AddAction(csom.NewQueryWithChildProps([]string{}), nil)
	return csomRespChildItems(termSets.client, termSets.endpoint, termSets.config, b)
}
func (termSets *TermSets) Add(name string, guid string, lcid int) (map[string]interface{}, error) {
	b := termSets.csomBuilderEntry().Clone()
	b.AddObject(csom.NewObjectMethod("CreateTermSet", []string{
		fmt.Sprintf(`<Parameter Type="String">%s</Parameter>`, name),
		fmt.Sprintf(`<Parameter Type="String">%s</Parameter>`, guid),
		fmt.Sprintf(`<Parameter Type="Number">%d</Parameter>`, lcid),
	}), nil)
	b.AddAction(csom.NewQueryWithProps([]string{}), nil)
	return csomResponse(termSets.client, termSets.endpoint, termSets.config, b)
}
type TermSet struct {
	client   *HTTPClient
	config   *RequestConfig
	endpoint string
	id string
	csomEntry   csom.Builder
	selectProps []string
}
func (termSet *TermSet) csomBuilderEntry() csom.Builder {
	b := termSet.csomEntry.Clone()
	b.AddObject(csom.NewObjectMethod("GetTermSet", []string{
		fmt.Sprintf(`<Parameter Type="String">%s</Parameter>`, termSet.id),
	}), nil)
	return b
}