code: func NewApplicationGroup(conf *genesisconfig.Application) (*cb.ConfigGroup, error) {
  	applicationGroup := cb.NewConfigGroup()
  	if len(conf.Policies) == 0 {
  		logger.Warningf("Default policy emission is deprecated, please include policy specifications for the application group in configtx.yaml")
  		addImplicitMetaPolicyDefaults(applicationGroup)
  	} else {
  		if err := addPolicies(applicationGroup, conf.Policies, channelconfig.AdminsPolicyKey); err != nil {
  			return nil, errors.Wrapf(err, "error adding policies to application group")
  		}
  	}
  
  	if len(conf.ACLs) > 0 {
  		addValue(applicationGroup, channelconfig.ACLValues(conf.ACLs), channelconfig.AdminsPolicyKey)
  	}
  
  	if len(conf.Capabilities) > 0 {
  		addValue(applicationGroup, channelconfig.CapabilitiesValue(conf.Capabilities), channelconfig.AdminsPolicyKey)
  	}
  
  	for _, org := range conf.Organizations {
  		var err error
  		applicationGroup.Groups[org.Name], err = NewApplicationOrgGroup(org)
  		if err != nil {
  			return nil, errors.Wrap(err, "failed to create application org")
  		}
  	}
  
  	applicationGroup.ModPolicy = channelconfig.AdminsPolicyKey
  	return applicationGroup, nil
  }
docs: // NewApplicationGroup returns the application component of the channel configuration.  It defines the organizations which are involved
  // in application logic like chaincodes, and how these members may interact with the orderer.  It sets the mod_policy of all elements to "Admins".