### Question:
BoolParser { public static Bool parseFirst(JSONObject json, String... keys) { String first = first(Arrays.asList(keys), json::has); return first != null ? new Bool(json.optBoolean(first)) : new NullBool(); }  static Bool parse(JSONObject json, String key); static Bool parseFirst(JSONObject json, String... keys);  }### Answer:
@Test public void parseFirst() throws JSONException { JSONObject json = new JSONObject(); json.put("value1", true); json.put("value2", false); assertThat(BoolParser.parseFirst(json, "value1", "value2").get()).isTrue(); assertThat(BoolParser.parseFirst(json, "value2", "value1").get()).isFalse(); }