docs: public void setStreamInfo(Stream stream, final KickflipCallback cb) {
          if (!assertActiveUserAvailable(cb)) return;
          GenericData data = new GenericData();
          data.put("stream_id", stream.getStreamId());
          data.put("uuid", getActiveUser().getUUID());
          if (stream.getTitle() != null) {
              data.put("title", stream.getTitle());
          }
          if (stream.getDescription() != null) {
              data.put("description", stream.getDescription());
          }
          if (stream.getExtraInfo() != null) {
              data.put("extra_info", new Gson().toJson(stream.getExtraInfo()));
          }
          if (stream.getLatitude() != 0) {
              data.put("lat", stream.getLatitude());
          }
          if (stream.getLongitude() != 0) {
              data.put("lon", stream.getLongitude());
          }
          if (stream.getCity() != null) {
              data.put("city", stream.getCity());
          }
          if (stream.getState() != null) {
              data.put("state", stream.getState());
          }
          if (stream.getCountry() != null) {
              data.put("country", stream.getCountry());
          }
  
          if (stream.getThumbnailUrl() != null) {
              data.put("thumbnail_url", stream.getThumbnailUrl());
          }
  
          data.put("private", stream.isPrivate());
          data.put("deleted", stream.isDeleted());
  
          post(SET_META, new UrlEncodedContent(data), Stream.class, cb);
      }