@NonNull @Override public JSONObject toJson() { JSONObject jsonObject = new JSONObject(); putStringIfNotNull(jsonObject, FIELD_ID, mId); putStringIfNotNull(jsonObject, FIELD_OBJECT, VALUE_CUSTOMER); putStringIfNotNull(jsonObject, FIELD_DEFAULT_SOURCE, mDefaultSource); StripeJsonModel.putStripeJsonModelIfNotNull(jsonObject, FIELD_SHIPPING, mShippingInformation); JSONObject sourcesObject = new JSONObject(); putStringIfNotNull(sourcesObject, FIELD_OBJECT, VALUE_LIST); putBooleanIfNotNull(sourcesObject, FIELD_HAS_MORE, mHasMore); putIntegerIfNotNull(sourcesObject, FIELD_TOTAL_COUNT, mTotalCount); putStripeJsonModelListIfNotNull(sourcesObject, FIELD_DATA, mSources); putStringIfNotNull(sourcesObject, FIELD_URL, mUrl); putObjectIfNotNull(jsonObject, FIELD_SOURCES, sourcesObject); return jsonObject; }