public function reloadData()
    {
        if ($this->_deleted) {
            throw new DataSift_Exception_InvalidData('Cannot reload the data for a deleted Historic.');
        }

        if ($this->_playback_id === false) {
            throw new DataSift_Exception_InvalidData('Cannot reload the data for a Historic with no playback ID.');
        }

        try {
            $this->initFromArray($this->_user->post('historics/get', array('id' => $this->_playback_id)));
        } catch (DataSift_Exception_APIError $e) {
            switch ($e->getCode()) {
                case 400:
                    // Missing or invalid parameters
                    throw new DataSift_Exception_InvalidData($e->getMessage());

                default:
                    throw new DataSift_Exception_APIError(
                        'Unexpected APIError code: ' . $e->getCode() . ' [' . $e->getMessage() . ']'
                    );
            }
        }
    }