<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _snat_subnet_for_ext_net(self, context, subnet, net):
 """Determine if an SNAT subnet is for this external network. This method determines if a given SNAT subnet is intended for the passed external network. For APIC ML2/Neutron workflow, SNAT subnets are created on a separate network from the external network. The association with an external network is made by putting the name of the external network in the name of the SNAT network name, using a well-known prefix. """

        if subnet['network_id'] == net['id']:
            return True

        network = self._core_plugin.get_network(
            context.elevated(), subnet['network_id'])
        ext_net_name = network['name']
        if (APIC_SNAT_NET + '-') in ext_net_name:
            # This is APIC ML2 mode -- we need to strip the prefix
            ext_net_name = ext_net_name[len(APIC_SNAT_NET + '-'):]
            if net['id'] == ext_net_name:
                return True
        return False