<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_metric_group_definitions(self):
 """ Get the faked metric group definitions for this context object that are to be returned from its create operation. If a 'metric-groups' property had been specified for this context, only those faked metric group definitions of its manager object that are in that list, are included in the result. Otherwise, all metric group definitions of its manager are included in the result. Returns: iterable of :class:~zhmcclient.FakedMetricGroupDefinition`: The faked metric group definitions, in the order they had been added. """

        group_names = self.properties.get('metric-groups', None)
        if not group_names:
            group_names = self.manager.get_metric_group_definition_names()
        mg_defs = []
        for group_name in group_names:
            try:
                mg_def = self.manager.get_metric_group_definition(group_name)
                mg_defs.append(mg_def)
            except ValueError:
                pass  # ignore metric groups without metric group defs
        return mg_defs