'Return item by name or label, disambiguating if necessary with nr.
All arguments must be passed by name, with the exception of \'name\',
which may be used as a positional argument.
If name is specified, then the item must have the indicated name.
If label is specified, then the item must have a label whose
whitespace-compressed, stripped, text substring-matches the indicated
label string (eg. label="please choose" will match
"  Do  please  choose an item ").
If id is specified, then the item must have the indicated id.
nr is an optional 0-based index of the items matching the query.
If nr is the default None value and more than item is found, raises
AmbiguityError (unless the HTMLForm instance\'s backwards_compat
attribute is true).
If no item is found, or if items are found but nr is specified and not
found, raises ItemNotFoundError.
Optionally excludes disabled items.'

def get(self, name=None, label=None, id=None, nr=None, exclude_disabled=False):

    if ((nr is None) and self._form.backwards_compat):
        nr = 0
    items = self.get_items(name, label, id, exclude_disabled)
    return disambiguate(items, nr, name=name, label=label, id=id)
