@staticmethod
def get_data(index, role, column=None):
    """Get data of the given index

        If the column is is not None and different from
        the index column, will get the data from a sibling
        index with the same row.

        :param index: The index to query for data
        :type index: :class:`PySide.QtCore.QModelIndex`
        :param role: the data role
        :type role: :data:`PySide.QtCore.Qt.ItemDataRole`
        :param column: the column of the row to query for data.
        :type column: :class:`int` | None
        :returns: The data retrieved
        :raises: None
        """
    if column and index.column() != column:
        index = index.sibling(index.row(), column)
    if index.isValid():
        return index.data(role)
