def __init__(self, citation_template=None, template_list=None, initials=''):
		shared_logger.debug("NamesFormatter.__init__ args: "+str((citation_template,template_list,initials)))
		assert (template_list or citation_template), "Must provide formatting templates."
		if citation_template:
			self.citation_template = citation_template
			self.template_list = [citation_template['name_first'], citation_template['name_other']]
			self.initials = citation_template['initials']
			self.etal = citation_template['etal']
			self.max_citation_names = citation_template['max_citation_names']
			self.name_name_sep = citation_template['name_name_sep']
		else: #set defaults
			self.template_list = template_list
			self.initials = initials
			self.etal = "et al."
			self.max_citation_names = 99
			self.name_name_sep = (', ', ', and ')
		self.formatters = [ NameFormatter(template,self.initials) for template in self.template_list ]

	#get all names, formatted as a string
Used to enable/disable a service. For compute services, setting to
dataset/ETHPy150Open dschwilk/bibstuff/bibstuff/bibstyles/shared.py/NamesFormatter.__init__--crossover with--dataset/ETHPy150Open BU-NU-CLOUD-SP16/Trusted-Platform-Module-nova/nova/cells/messaging.py/_TargetedMessageMethods.service_update