@Nullable
    static Map<String, String> optHash(
            @NonNull JSONObject jsonObject,
            @NonNull @Size(min = 1) String fieldName) {
        JSONObject foundObject = jsonObject.optJSONObject(fieldName);
        if (foundObject == null) {
            return null;
        }

        return jsonObjectToStringMap(foundObject);
    }
@ Nullable static Map < String , String > optHash ( @ NonNull JSONObject jsonObject , @ NonNull @ Size ( min = 1 ) String fieldName ) { JSONObject foundObject = jsonObject . optJSONObject ( fieldName ) ; if ( foundObject == null ) { return null ; } return jsonObjectToStringMap ( foundObject ) ; }
Calls through to {@link JSONObject#optJSONObject(String)} and then
uses {@link #jsonObjectToStringMap(JSONObject)} on the result.

@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