'Reconstruct a variant from a node dict.'

@staticmethod
def from_node_dict(name, value):

    if isinstance(value, list):
        value = ','.join(value)
        return MultiValuedVariant(name, value)
    elif ((str(value).upper() == 'TRUE') or (str(value).upper() == 'FALSE')):
        return BoolValuedVariant(name, value)
    return SingleValuedVariant(name, value)
