@classmethod
def __patheval(cls, nexuspath):
    """ splits nexus path into list

        :param nexuspath: nexus path
        :type nexuspath: :obj:`str`
        :returns: nexus path in lists of (name, NXtype)
        :rtype: :obj:`list` < (:obj:`str`, :obj:`str`) >
        """
    pathlist = []
    spath = nexuspath.split('/')
    if spath:
        for sp in spath[:-1]:
            nlist = sp.split(':')
            if len(nlist) == 2:
                if len(nlist[0]) == 0 and len(nlist[1]) > 2 and nlist[1
                    ].startswith('NX'):
                    pathlist.append((nlist[1][2:], nlist[1]))
                else:
                    pathlist.append((nlist[0], nlist[1]))
            elif len(nlist) == 1 and nlist[0]:
                if len(nlist[0]) > 2 and nlist[0].startswith('NX'):
                    pathlist.append((nlist[0][2:], nlist[0]))
                else:
                    pathlist.append((nlist[0], 'NX' + nlist[0]))
        pathlist.append((spath[-1], None))
    return pathlist
