def __init__(self, name=None, full_path=None, parser=None):
        """
        :param full_path: should always be tuple to avoid
        unexpected changes from outside.
        """
        self.full_path = tuple(full_path) if full_path else tuple()
        self.name = name
        self.parser = parser
def __init__ ( self , name = None , full_path = None , parser = None ) : self . full_path = tuple ( full_path ) if full_path else tuple ( ) self . name = name self . parser = parser
:param full_path: should always be tuple to avoid
        unexpected changes from outside.