public ScanSet Scan(IQuery query) { EnsureConnected(); var yazScanSet = Yaz.ZOOM_connection_scan(ZConnection, query.QueryString); var errorCode = Yaz.ZOOM_connection_errcode(ZConnection); if (errorCode != Yaz.ZoomErrorNone) { Yaz.ZOOM_scanset_destroy(yazScanSet); } CheckErrorCodeAndThrow(errorCode); var scanSet = new ScanSet(yazScanSet, this); return(scanSet); }