hide /bin from git
UnmodifiableJSONObject.optJSONArray and .optJSONObject handle missing Objects correctly by returning null rather than throwing a NPE.
JSONArray hierarchy supports indexOf for looking up items.