<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __getDecision(self, result, multiple=False, **values):
 		""" 		The main method for decision picking. 		Args: 			result (array of str):
 What values you want to get in return array. 			multiple (bolean, optional):
 Do you want multiple result if it finds many maching decisions. 			**values (dict):
 What should finder look for, (headerString : value). 		Returns: Maped result values with finded elements in row/row. 		"""


		values = self.__toString(values)
		__valueKeyWithHeaderIndex = self.__valueKeyWithHeaderIndex(values)

		errors = self.__checkDecisionParameters(result, **values)
		if errors:
			view.Tli.showErrors('ParametersError', errors)

		machingData = {}
		for line in self.decisions:

			match = True

			for index in __valueKeyWithHeaderIndex:
				if line[index] != __valueKeyWithHeaderIndex[index]:
					if line[index] != self.__wildcardSymbol:
						match = False
						break

			if match:
				if multiple:
					for header in result:
						if header not in machingData:
							machingData[header] = [line[self.header.index(header)]]
						else:
							machingData[header].append(line[self.header.index(header)])
				else:
					for header in result:
						machingData[header] = line[self.header.index(header)]
					return machingData

		if multiple:
			if machingData:
				return machingData

		# Return none if not found (not string so
		# not found value can be recognized
		return dict((key, None) for key in result)