docs: def convert_mfdist(self, node):
          """
          Convert the given node into a Magnitude-Frequency Distribution
          object.
  
          :param node: a node of kind incrementalMFD or truncGutenbergRichterMFD
          :returns: a :class:`openquake.hazardlib.mfd.EvenlyDiscretizedMFD.` or
                    :class:`openquake.hazardlib.mfd.TruncatedGRMFD` instance
          """
          with context(self.fname, node):
              [mfd_node] = [subnode for subnode in node
                            if subnode.tag.endswith(
                                ('incrementalMFD', 'truncGutenbergRichterMFD',
                                 'arbitraryMFD', 'YoungsCoppersmithMFD',
                                 'multiMFD'))]
              if mfd_node.tag.endswith('incrementalMFD'):
                  return mfd.EvenlyDiscretizedMFD(
                      min_mag=mfd_node['minMag'], bin_width=mfd_node['binWidth'],
                      occurrence_rates=~mfd_node.occurRates)
              elif mfd_node.tag.endswith('truncGutenbergRichterMFD'):
                  return mfd.TruncatedGRMFD(
                      a_val=mfd_node['aValue'], b_val=mfd_node['bValue'],
                      min_mag=mfd_node['minMag'], max_mag=mfd_node['maxMag'],
                      bin_width=self.width_of_mfd_bin)
              elif mfd_node.tag.endswith('arbitraryMFD'):
                  return mfd.ArbitraryMFD(
                      magnitudes=~mfd_node.magnitudes,
                      occurrence_rates=~mfd_node.occurRates)
              elif mfd_node.tag.endswith('YoungsCoppersmithMFD'):
                  if "totalMomentRate" in mfd_node.attrib.keys():
                      # Return Youngs & Coppersmith from the total moment rate
                      return mfd.YoungsCoppersmith1985MFD.from_total_moment_rate(
                          min_mag=mfd_node["minMag"], b_val=mfd_node["bValue"],
                          char_mag=mfd_node["characteristicMag"],
                          total_moment_rate=mfd_node["totalMomentRate"],
                          bin_width=mfd_node["binWidth"])
                  elif "characteristicRate" in mfd_node.attrib.keys():
                      # Return Youngs & Coppersmith from the total moment rate
                      return mfd.YoungsCoppersmith1985MFD.\
                          from_characteristic_rate(
                              min_mag=mfd_node["minMag"],
                              b_val=mfd_node["bValue"],
                              char_mag=mfd_node["characteristicMag"],
                              char_rate=mfd_node["characteristicRate"],
                              bin_width=mfd_node["binWidth"])
              elif mfd_node.tag.endswith('multiMFD'):
                  return mfd.multi_mfd.MultiMFD.from_node(
                      mfd_node, self.width_of_mfd_bin)