code: func (t *Type) createTypeFromPropProperty(name string, apiDef *APIDefinition) {
  	p := t.Properties[name]
  	// only process map[interface]interface{}
  	propMap, ok := p.(map[interface{}]interface{})
  	if !ok {
  		return
  	}
  
  	// only process if it has 'properties' field
  	propsIf, ok := propMap["properties"]
  	if !ok {
  		return
  	}
  
  	// check validity of the properties
  	props, ok := propsIf.(map[interface{}]interface{})
  	if !ok {
  		panic("inline properties expect properties in type:map[string]interface{}")
  	}
  
  	newName := t.Name + name
  	created := apiDef.createType(newName, propMap["type"], props)
  
  	propMap["type"] = newName
  
  	// delete the 'properties' field
  	delete(propMap, "properties")
  
  	t.Properties[name] = propMap
  
  	// post process the created type
  	if created {
  		createdType := apiDef.Types[newName]
  		createdType.postProcess(newName, apiDef)
  	}
  
  }
docs: // create type from property's property