code: @Nullable
      static Long optLong(
              @NonNull JSONObject jsonObject,
              @NonNull @Size(min = 1) String fieldName) {
          if (!jsonObject.has(fieldName)) {
              return null;
          }
          return jsonObject.optLong(fieldName);
      }
docs: Calls through to {@link JSONObject#optLong(String)} only in the case that the
  key exists. This returns {@code null} if the key is not in the object.
  
  @param jsonObject the input object
  @param fieldName the required field name
  @return the value stored in the requested field, or {@code null} if the key is not present