public function testThatFirstItemMatchingTestIsReturnedViaFindFirst()
 {
     $items = [["a" => 1], ["a" => 2]];
     $filtered = CollectionUtility::findFirst($items, function ($value) {
         if ($value['a'] == 2) {
             return true;
         }
         return false;
     });
     $this->assertEquals(["a" => 2], $filtered);
     //Ensure null returned if no value found
     $this->assertEquals(null, CollectionUtility::findFirst($items, function ($value) {
         return false;
     }));
     //Ensure key is returend if requested
     $items = ["a" => ["a" => 1], "B" => ["a" => 2]];
     list($key, $value) = CollectionUtility::findFirst($items, function ($value) {
         if ($value['a'] == 2) {
             return true;
         }
         return false;
     }, true);
     $this->assertEquals("B", $key);
     $this->assertEquals(["a" => 2], $value);
 }