code: def recvSecurityList(self, data):
          
          securityList = []
          while data.dataLen() > 0:
              securityElement = UInt8()
              data.readType(securityElement)
              securityList.append(securityElement)
          #select high security level
          for s in securityList:
              if s.value in [SecurityType.NONE, SecurityType.VNC] and s > self._securityLevel:
                  self._securityLevel = s
                  break
          #send back security level choosen
          self.send(self._securityLevel)
          if self._securityLevel.value == SecurityType.VNC:
              self.expect(16, self.recvVNCChallenge)
          else:
              self.expect(4, self.recvSecurityResult)
docs: Read security list packet send from server to client
          @param data: Stream that contains well formed packet