@classmethod
def __parse_extraports(cls, extraports_data):
    """
            Private method parsing the data from extra scanned ports.
            X extraports were in state "closed" server returned "conn-refused"
            tag: <extraports>

            :param extraports_data: XML data for extraports
            :type extraports_data: xml.ElementTree.Element or a string

            :return: python dict with following keys: state, count, reason
        """
    rdict = {'state': '', 'count': '', 'reasons': []}
    xelement = cls.__format_element(extraports_data)
    extraports_dict = cls.__format_attributes(xelement)
    if 'state' in extraports_dict:
        rdict['state'] = extraports_dict
    if 'count' in extraports_dict:
        rdict['count'] = extraports_dict
    for xelt in xelement:
        if xelt.tag == 'extrareasons':
            extrareasons_dict = cls.__format_attributes(xelt)
            rdict['reasons'].append(extrareasons_dict)
    return rdict
