There is an invalid null check in Find method: IS: if (FindFunction == null) { return FindFunction(Data, keyValues); } SHOULD BE: if (FindFundtion != null) ...