entry.go
func (e *Entry) MergePatterns(patterns []string) *Entry {
	pat, size := PeekNextPattern(patterns)
	if child := e.getChildEntry(pat); child != nil {
		if len(patterns) == size {
			return child
		}
		return child.MergePatterns(patterns[size:])
	}
	return e.addPatterns(patterns)
}
func (e *Entry) MergePatterns(patterns []string) *Entry {
	pat, size := PeekNextPattern(patterns)
	if child := e.getChildEntry(pat); child != nil {
		if len(patterns) == size {
			return child
		}
		return child.MergePatterns(patterns[size:])
	}
	return e.addPatterns(patterns)
}
func ( e * Entry ) MergePatterns ( patterns [ ] string ) * Entry { pat , size := PeekNextPattern ( patterns ) if child := e . getChildEntry ( pat ) ; child != nil { if len ( patterns ) == size { return child } return child . MergePatterns ( patterns [ size : ] ) } return e . addPatterns ( patterns ) }
// MergePattern add entry patterns with given pattern strings. If a pattern
// already exists on the entry, it adds remaining patterns to the existing entry.
MergePattern add entry patterns with given pattern strings . If a pattern already exists on the entry it adds remaining patterns to the existing entry .