@staticmethod
def get_mtype_subtypes(mtype):
    """
        Return a list containing all the possible wildcarded subtypes of MType.

        Parameters
        ----------
        mtype : str
            MType to be parsed.

        Returns
        -------
        types : list
            List of subtypes

        Examples
        --------
        >>> from astropy.samp import SAMPHubServer
        >>> SAMPHubServer.get_mtype_subtypes("samp.app.ping")
        ['samp.app.ping', 'samp.app.*', 'samp.*', '*']
        """
    subtypes = []
    msubs = mtype.split('.')
    indexes = list(range(len(msubs)))
    indexes.reverse()
    indexes.append(-1)
    for i in indexes:
        tmp_mtype = '.'.join(msubs[:i + 1])
        if tmp_mtype != mtype:
            if tmp_mtype != '':
                tmp_mtype = tmp_mtype + '.*'
            else:
                tmp_mtype = '*'
        subtypes.append(tmp_mtype)
    return subtypes
