generators/record.go
func (v *Record) TypeName(i int, properties []string) (typename string) {
	if i+1 < v.Length {
		currentNode := v.Slice[i]
		typename = "*" + FormatName(currentNode)
		if i >= 1 {
			parentNames := v.FindAllParentsOfSameNamedElement(currentNode, properties)
			if len(parentNames) > 1 {
				typename = "*" + FormatName(v.Slice[i-1]+"_"+currentNode)
			}
		}
	} else {
		typename = "interface{}"
	}
	return
}
func (v *Record) TypeName(i int, properties []string) (typename string) {
	if i+1 < v.Length {
		currentNode := v.Slice[i]
		typename = "*" + FormatName(currentNode)
		if i >= 1 {
			parentNames := v.FindAllParentsOfSameNamedElement(currentNode, properties)
			if len(parentNames) > 1 {
				typename = "*" + FormatName(v.Slice[i-1]+"_"+currentNode)
			}
		}
	} else {
		typename = "interface{}"
	}
	return
}
//TypeName - returns valid type name for a give record