code: def parsePropertyValue(self):
  		
  		pvlist = []
  		while self.index < self.datalen:
  			match = self.rePropertyStart.match(self.data, self.index)
  			if match:
  				self.index = match.end()
  				v = ""									# value
  				# scan for escaped characters (using '\'), unescape them (remove linebreaks)
  				mend = self.rePropertyEnd.search(self.data, self.index)
  				mesc = self.reEscape.search(self.data, self.index)
  				while mesc and mend and (mesc.end() < mend.end()):
  														# copy up to '\', but remove '\'
  					v = v + self.data[self.index:mesc.start()]
  					mbreak = self.reLineBreak.match(self.data, mesc.end())
  					if mbreak:
  						self.index = mbreak.end()		# remove linebreak
  					else:
  						v = v + self.data[mesc.end()]	# copy escaped character
  						self.index = mesc.end() + 1		# move to point after escaped char
  					mend = self.rePropertyEnd.search(self.data, self.index)
  					mesc = self.reEscape.search(self.data, self.index)
  				if mend:
  					v = v + self.data[self.index:mend.start()]
  					self.index = mend.end()
  					pvlist.append(self._convertControlChars(v))
  				else:
  					raise PropertyValueParseError
  			else:										# reached end of Property
  				break
  		if len(pvlist) >= 1:
  			return pvlist
  		else:
  			raise PropertyValueParseError
docs: Called when "[" encountered (but not consumed), ends when the next
  			property, node, or variation encountered. Parses and returns a list
  			of property values. Raises 'PropertyValueParseError' if there is a
  			problem.