For some status codes (for example 400) the server does not return a response body (JSONObject with keys and values). And sometimes, a response is not received at all (resulting from ConnectExceptions/SocketExceptions) but the individual still needs to be evaluated.
To be able to effectively evaluate individuals, a replacement statuscode/JSONObject needs to be created for when there is none. This should however be done carefully, so it is wise to figure out where these exceptions come from exactly to have a better idea of what could be going on (on the server end).
Currently, such individuals get a non-existing status code assigned unique for their exception, and an empty response object, but there could be a better way (not taking them into account at all, replacing them with new individuals, placing more information in the JSONObject about the server's response). A different approach should be tried.
For some status codes (for example 400) the server does not return a response body (JSONObject with keys and values). And sometimes, a response is not received at all (resulting from ConnectExceptions/SocketExceptions) but the individual still needs to be evaluated.