'Gets this metric\'s value corresponding to the given fields values.'

def Get(self, fields=None):

    if ((self.fields_defs is None) and (fields is not None)):
        raise ValueError(('Metric    was    registered    without    fields,    but    following    fields    were    provided:    %s.' % fields))
    if ((self.fields_defs is not None) and (fields is None)):
        raise ValueError(('Metric    was    registered    with    fields    (%s),    but    no    fields    were    provided.' % self.fields_defs))
    if ((self.fields_defs is not None) and (fields is not None) and (len(self.fields_defs) != len(fields))):
        raise ValueError(('Metric    was    registered    with    %d    fields    (%s),    but    %d    fields    were    provided    (%s).' % (len(self.fields_defs), self.fields_defs, len(fields), fields)))
    try:
        return self._values[self._FieldsToKey(fields)]
    except KeyError:
        return self._DefaultValue()
