protected function decode($tsPropArray)
    {
        $tsPropArray = bin2hex($tsPropArray);
        // The signature is a 2-byte unicode character at the front
        $this->signature = chr(hexdec(substr($tsPropArray, 0, 2)));
        // The property count is a 2-byte unsigned integer indicating the number of elements for the tsPropertyArray
        // It starts at position 2. The actual variable data begins at position 4.
        $length = $this->addTSPropData(substr($tsPropArray, 4), hexdec(substr($tsPropArray, 2, 2)));
        // Reserved data length + (count and sig length == 4) + the added lengths of the TSPropertyArray
        // This saves anything after that variable TSPropertyArray data, so as to not squash anything stored there
        if (strlen($tsPropArray) > (4 + $length)) {
            $this->postBinary = hex2bin(substr($tsPropArray, (4 + $length)));
        }
    }