'@param name: The property name.
@type name: str
@param classes: The (class) list of permitted values
@type classes: tuple
@param default: The default value.
@type default: any'

def __init__(self, name, classes, default, linker=AutoLinker()):

    if (not isinstance(classes, (list, tuple))):
        classes = (classes,)
    self.name = name
    self.classes = classes
    self.default = default
    self.linker = linker
