class_docstr: Abstract Class for registering and storing mappings from domain
  to bijections/transformations
code: def __call__(self, constraint):
      try:
          factory = self._storage[type(constraint)]
      except KeyError:
          raise NotImplementedError(
              "Cannot transform {} constraints".format(
                  type(constraint).__name__
              )
          )
      return factory(constraint)
  
file_path: mxnet/python/mxnet/gluon/probability/transformation/domain_map.py
imports: from numbers import Number
  from .transformation import ExpTransform, AffineTransform, SigmoidTransform, ComposeTransform
  from ..distributions.constraint import Constraint, Positive, GreaterThan, GreaterThanEq, LessThan, Interval, HalfOpenInterval
label_desc: Use image node_id 3 for calling the domain_map obj's underlying member method code with example usage: obj.__call__(constraint) and returns: factory