(cls, name=None)
Branch nodes need to have a unique name,
        which identifies them.  This method checks
        to see if the branch node being made has already
        been created using its name and if so it returns
        that instance.
Branch nodes need to have a unique name,
        which identifies them.  This method checks
        to see if the branch node being made has already
        been created using its name and if so it returns
        that instance.
Branch nodes need to have a unique name which identifies them . This method checks to see if the branch node being made has already been created using its name and if so it returns that instance .
def __new__(cls, name=None):
        """
        Branch nodes need to have a unique name,
        which identifies them.  This method checks
        to see if the branch node being made has already
        been created using its name and if so it returns
        that instance.
        """
        if name in cls.instances:
            return cls.instances[name]
        else:
            return Layer.__new__(cls)
def __new__ ( cls , name = None ) : if name in cls . instances : return cls . instances [ name ] else : return Layer . __new__ ( cls )