docs: public static Object createObject(String rawJSON) throws TwitterException {
          try {
              JSONObject json = new JSONObject(rawJSON);
              JSONObjectType.Type jsonObjectType = JSONObjectType.determine(json);
              switch (jsonObjectType) {
                  case SENDER:
                      return registerJSONObject(new DirectMessageJSONImpl(json.getJSONObject("direct_message")), json);
                  case STATUS:
                      return registerJSONObject(new StatusJSONImpl(json), json);
                  case DIRECT_MESSAGE:
                      return registerJSONObject(new DirectMessageJSONImpl(json.getJSONObject("direct_message")), json);
                  case DELETE:
                      return registerJSONObject(new StatusDeletionNoticeImpl(json.getJSONObject("delete").getJSONObject("status")), json);
                  case LIMIT:
                      // TODO: Perhaps there should be a TrackLimitationNotice object?
                      // The onTrackLimitationNotice method could take that as an arg.
                      return json;
                  case SCRUB_GEO:
                      return json;
                  default:
                      // The object type is unrecognized...just return the json
                      return json;
              }
          } catch (JSONException e) {
              throw new TwitterException(e);
          }
      }