func newElementExtractor(dataElementGroup []byte) *groupExtractor {
	// TODO: workaround to get the lexer work properly for us. Maybe we should adopt the lexer?
	if bytes.LastIndexFunc(dataElementGroup, func(r rune) bool {
		return r == '+' || r == '\''
	}) == -1 {
		dataElementGroup = append(dataElementGroup, '+')
	}
	return &groupExtractor{
		rawDataElementGroup: dataElementGroup,
	}
}
// newElementExtractor creates a new GroupExtractor ready to use
newElementExtractor creates a new GroupExtractor ready to use
// newElementExtractor creates a new GroupExtractor ready to use
func newElementExtractor(dataElementGroup []byte) *groupExtractor {
	if bytes.LastIndexFunc(dataElementGroup, func(r rune) bool {
		return r == '+' || r == '\''
	}) == -1 {
		dataElementGroup = append(dataElementGroup, '+')
	}
	return &groupExtractor{
		rawDataElementGroup: dataElementGroup,
	}
}
func newElementExtractor ( dataElementGroup [ ] byte ) * groupExtractor { if bytes . LastIndexFunc ( dataElementGroup , func ( r rune ) bool { return r == '+' || r == '\'' } ) == - 1 { dataElementGroup = append ( dataElementGroup , '+' ) } return & groupExtractor { rawDataElementGroup : dataElementGroup , } }
newElementExtractor creates a new GroupExtractor ready to use
newElementExtractor creates a new GroupExtractor ready to use
// TODO: workaround to get the lexer work properly for us. Maybe we should adopt the lexer?