code: func NewApplicationOrgConfig(id string, orgGroup *cb.ConfigGroup, mspConfig *MSPConfigHandler) (*ApplicationOrgConfig, error) {
  	if len(orgGroup.Groups) > 0 {
  		return nil, fmt.Errorf("ApplicationOrg config does not allow sub-groups")
  	}
  
  	protos := &ApplicationOrgProtos{}
  	orgProtos := &OrganizationProtos{}
  
  	if err := DeserializeProtoValuesFromGroup(orgGroup, protos, orgProtos); err != nil {
  		return nil, errors.Wrap(err, "failed to deserialize values")
  	}
  
  	aoc := &ApplicationOrgConfig{
  		name:   id,
  		protos: protos,
  		OrganizationConfig: &OrganizationConfig{
  			name:             id,
  			protos:           orgProtos,
  			mspConfigHandler: mspConfig,
  		},
  	}
  
  	if err := aoc.Validate(); err != nil {
  		return nil, err
  	}
  
  	return aoc, nil
  }
docs: // NewApplicationOrgConfig creates a new config for an application org