'Constructor.
Args:
data_type: underlying data type as class.
default: default value for the property. The value is deep copied
fore each model instance.
kwargs: remaining arguments.'

def __init__(self, data_type, default=None, **kwargs):

    kwargs['default'] = default
    super(JsonProperty, self).__init__(**kwargs)
    self.data_type = data_type
