Returns the full path of a FILENAME.

        The NTFS filesystem allows for things called hardlinks. Hard links are
        saved, internally, as different filename attributes. Because of this,
        an entry can, when dealing with full paths, have multiple full paths.

        As such, this function receives a fn_attr and uses it to compute
        the full path for this particular attribute.

        Also, the MFT entry might still exist, but the file has been deleted,
        depending on the state of the MFT, the path might not be fully reconstructable,
        these entries are called "orphan".

        Args:
            fn_attr (:obj:`Attribute`): An attribute that has a FILENAME as content

        Returns:
            tuple(bool, str): A tuple where the first element is a boolean that
                is ``True`` if the the file is orphan and ``False`` if not. The
                second element is a string with the full path

def get_full_path(self, fn_attr):
        '''Returns the full path of a FILENAME.

        The NTFS filesystem allows for things called hardlinks. Hard links are
        saved, internally, as different filename attributes. Because of this,
        an entry can, when dealing with full paths, have multiple full paths.

        As such, this function receives a fn_attr and uses it to compute
        the full path for this particular attribute.

        Also, the MFT entry might still exist, but the file has been deleted,
        depending on the state of the MFT, the path might not be fully reconstructable,
        these entries are called "orphan".

        Args:
            fn_attr (:obj:`Attribute`): An attribute that has a FILENAME as content

        Returns:
            tuple(bool, str): A tuple where the first element is a boolean that
                is ``True`` if the the file is orphan and ``False`` if not. The
                second element is a string with the full path
        '''
        if fn_attr.header.attr_type_id is not AttrTypes.FILE_NAME:
            raise MFTError("Need a filename attribute to compute full path.")

        orphan, path = self._compute_full_path(fn_attr.content.parent_ref, fn_attr.content.parent_seq)
        return (orphan, "\\".join([path, fn_attr.content.name]))