<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def in_hours(self, office=None, when=None):
 		""" 		Finds if it is business hours in the given office. 		:param office: Office ID to look up, or None to check if any office is in business hours. 		:type office: str or None 		:param datetime.datetime when: When to check the office is open, or None for now. 		:returns: True if it is business hours, False otherwise. 		:rtype: bool 		:raises KeyError: If the office is unknown. 		"""


		if when == None:
			when = datetime.now(tz=utc)

		if office == None:
			for office in self.offices.itervalues():
				if office.in_hours(when):
					return True

			return False

		else:
			# check specific office
			return self.offices[office].in_hours(when)