'Initializer.
Args:
name: The name of the facet.
value: Value of the facet.
facet_range: A FacetRange to refine facet based on a range.
Raises:
TypeError: If any of the parameters have invalid types, or an unknown
attribute is passed.
ValueError: If any of the parameters have invalid values.'

@datastore_rpc._positional(2)
def __init__(self, name, value=None, facet_range=None):

    self._name = _ConvertToUnicode(name)
    if ((value is None) == (facet_range is None)):
        raise ValueError('Either    value    or    facet_range    should    be    set    but    not    both.')
    self._value = value
    self._facet_range = facet_range
