private void init(JSONObject json) throws TwitterException {
    try {
      JSONArray indicesArray = json.getJSONArray("indices");
      setStart(indicesArray.getInt(0));
      setEnd(indicesArray.getInt(1));

      if (!json.isNull("name")) {
        this.name = json.getString("name");
      }
      if (!json.isNull("screen_name")) {
        this.screenName = json.getString("screen_name");
      }
      id = ParseUtil.getLong("id", json);
    } catch (JSONException jsone) {
      throw new TwitterException(jsone);
    }
  }
  private void init(JSONObject json) throws TwitterException {
    id = ParseUtil.getLong("id", json);
    name = ParseUtil.getRawString("name", json);
    fullName = ParseUtil.getRawString("full_name", json);
    slug = ParseUtil.getRawString("slug", json);
    description = ParseUtil.getRawString("description", json);
    subscriberCount = ParseUtil.getInt("subscriber_count", json);
    memberCount = ParseUtil.getInt("member_count", json);
    uri = ParseUtil.getRawString("uri", json);
    mode = "public".equals(ParseUtil.getRawString("mode", json));
    following = ParseUtil.getBoolean("following", json);
    createdAt = ParseUtil.getDate("created_at", json);

    try {
      if (!json.isNull("user")) {
        user = new UserJSONImpl(json.getJSONObject("user"));
      }
    } catch (JSONException jsone) {
      throw new TwitterException(jsone.getMessage() + ":" + json.toString(), jsone);
    }
  }