def __init__(self, masterDir=DIRECTION.OUT,<EOL>loadConfig=True):
self._setAttrListener = None<EOL>self._associatedClk = None<EOL>self._associatedRst = None<EOL>self._parent = None<EOL>super().__init__()<EOL>self._masterDir = masterDir<EOL>self._direction = INTF_DIRECTION.UNKNOWN<EOL>self._ctx = None<EOL>if loadConfig:<EOL><INDENT>self._loadConfig()<EOL><DEDENT>self._isExtern = False<EOL>self._isAccessible = True<EOL>self._ag = None<EOL>
This constructor is called when constructing new interface,
it is usually done manually while creating Unit or
automatically while extracting interfaces from UnitWithSoure

:param masterDir: direction which this interface should have for master
:param multiplyedBy: this can be instance of integer or Param,
    this mean the interface is array of the interfaces
    where multiplyedBy is the size
:param loadConfig: do load config in __init__