<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def projection(self, *axes, **kwargs):
 """Projection to lower-dimensional histogram. The inheriting class should implement the _projection_class_map class attribute to suggest class for the projection. If the arguments don't match any of the map keys, HistogramND is used. """

        axes, _ = self._get_projection_axes(*axes)
        axes = tuple(sorted(axes))
        if axes in self._projection_class_map:
            klass = self._projection_class_map[axes]
            return HistogramND.projection(self, *axes, type=klass, **kwargs)
        else:
            return HistogramND.projection(self, *axes, **kwargs)