code: func (b *BigIP) GetPolicy(name string) (*Policy, error) {
  	var p Policy
  	err, ok := b.getForEntity(&p, uriLtm, uriPolicy, name, policyVersionSuffix)
  	if err != nil {
  		return nil, err
  	}
  	if !ok {
  		return nil, nil
  	}
  
  	var rules PolicyRules
  	err, _ = b.getForEntity(&rules, uriLtm, uriPolicy, name, "rules", policyVersionSuffix)
  	if err != nil {
  		return nil, err
  	}
  	p.Rules = rules.Items
  
  	for i, _ := range p.Rules {
  		var a PolicyRuleActions
  		var c PolicyRuleConditions
  
  		err, _ = b.getForEntity(&a, uriLtm, uriPolicy, name, "rules", p.Rules[i].Name, "actions", policyVersionSuffix)
  		if err != nil {
  			return nil, err
  		}
  		err, _ = b.getForEntity(&c, uriLtm, uriPolicy, name, "rules", p.Rules[i].Name, "conditions", policyVersionSuffix)
  		if err != nil {
  			return nil, err
  		}
  		p.Rules[i].Actions = a.Items
  		p.Rules[i].Conditions = c.Items
  	}
  
  	return &p, nil
  }
docs: //Load a fully policy definition. Policies seem to be best dealt with as one big entity.