def __init__ ( self, default_value = NoDefaultSpecified, **metadata ):
        """ This constructor method is the only method normally called
            directly by client code. It defines the trait. The
            default implementation accepts an optional, untype-checked default
            value, and caller-supplied trait metadata. Override this method
            whenever a different method signature or a type-checked
            default value is needed.
        """
        if default_value is not NoDefaultSpecified:
            self.default_value = default_value

        if len( metadata ) > 0:
            if len( self.metadata ) > 0:
                self._metadata = self.metadata.copy()
                self._metadata.update( metadata )
            else:
                self._metadata = metadata
            # By default, private traits are not visible.
            if (self._metadata.get('private') or
                    self._metadata.get('visible') is None):
                self._metadata['visible'] = False
        else:
            self._metadata = self.metadata.copy()

        self.init()
dataset/ETHPy150Open enthought/traits/traits/trait_handlers.py/TraitType.__init__/operator `and` -> `or`