'Create a new instance based on a JSON dict.
Args:
data: A JSON dict, as converted from the JSON in the twitter API
Returns:
A twitter.Status instance'

@classmethod
def NewFromJsonDict(cls, data, **kwargs):

    current_user_retweet = None
    hashtags = None
    media = None
    retweeted_status = None
    urls = None
    user = None
    user_mentions = None
    if (u'user' in data):
        user = User.NewFromJsonDict(data[u'user'])
    if (u'retweeted_status' in data):
        retweeted_status = Status.NewFromJsonDict(data[u'retweeted_status'])
    if (u'current_user_retweet' in data):
        current_user_retweet = data[u'current_user_retweet'][u'id']
    if (u'entities' in data):
        if (u'urls' in data[u'entities']):
            urls = [Url.NewFromJsonDict(u) for u in data[u'entities'][u'urls']]
        if (u'user_mentions' in data[u'entities']):
            user_mentions = [User.NewFromJsonDict(u) for u in data[u'entities'][u'user_mentions']]
        if (u'hashtags' in data[u'entities']):
            hashtags = [Hashtag.NewFromJsonDict(h) for h in data[u'entities'][u'hashtags']]
        if (u'media' in data[u'entities']):
            media = [Media.NewFromJsonDict(m) for m in data[u'entities'][u'media']]
    if (u'extended_entities' in data):
        if (u'media' in data[u'extended_entities']):
            media = [Media.NewFromJsonDict(m) for m in data[u'extended_entities'][u'media']]
    return super(cls, cls).NewFromJsonDict(data=data, current_user_retweet=current_user_retweet, hashtags=hashtags, media=media, retweeted_status=retweeted_status, urls=urls, user=user, user_mentions=user_mentions)
