code: func (apiDef *APIDefinition) allResourceTypes(rts map[string]ResourceType, libraries map[string]*Library) map[string]ResourceType {
  	if len(rts) == 0 {
  		rts = map[string]ResourceType{}
  	}
  	for libName, l := range libraries {
  		for rtName, rt := range l.ResourceTypes {
  			rts[libName+"."+rtName] = rt
  		}
  		// Recursively processing siblings
  		if l.Libraries != nil {
  			apiDef.allResourceTypes(rts, l.Libraries)
  		}
  	}
  	return rts
  }
docs: // AllResourceTypes gets all resource type that defined in this api definition.
  // resource types could be from:
  // - this document itself
  // - libraries