@@ -1060,7 +1060,7 @@ public long longValue() {
10601060                    }
10611061
10621062                    @ Override 
1063-                     public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1063+                     public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
10641064                        for  (int  i  = 0 ; i  < docs .count (); i ++) {
10651065                            builder .appendLong (0L );
10661066                        }
@@ -1072,7 +1072,7 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) {
10721072                    }
10731073
10741074                    @ Override 
1075-                     public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1075+                     public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
10761076                        for  (int  i  = 0 ; i  < docs .count (); i ++) {
10771077                            builder .appendInt (0 );
10781078                        }
@@ -1084,10 +1084,14 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
10841084                    }
10851085
10861086                    @ Override 
1087-                     public  void  loadBlock (BlockLoader .DoubleBuilder  builder , BlockLoader .Docs  docs , BlockDocValuesReader .ToDouble  toDouble )
1088-                         throws  IOException  {
1087+                     public  void  loadBlock (
1088+                         BlockLoader .DoubleBuilder  builder ,
1089+                         BlockLoader .Docs  docs ,
1090+                         int  offset ,
1091+                         BlockDocValuesReader .ToDouble  toDouble 
1092+                     ) throws  IOException  {
10891093                        double  value  = toDouble .convert (0L );
1090-                         for  (int  i  = 0 ; i  < docs .count (); i ++) {
1094+                         for  (int  i  = offset ; i  < docs .count (); i ++) {
10911095                            builder .appendDouble (value );
10921096                        }
10931097                    }
@@ -1169,8 +1173,8 @@ public long longValue() {
11691173                    }
11701174
11711175                    @ Override 
1172-                     public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1173-                         for  (int  i  = 0 ; i  < docs .count (); i ++) {
1176+                     public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1177+                         for  (int  i  = offset ; i  < docs .count (); i ++) {
11741178                            if  (disi .advanceExact (docs .get (i ))) {
11751179                                builder .appendLong (0L );
11761180                            } else  {
@@ -1189,8 +1193,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
11891193                    }
11901194
11911195                    @ Override 
1192-                     public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1193-                         for  (int  i  = 0 ; i  < docs .count (); i ++) {
1196+                     public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1197+                         for  (int  i  = offset ; i  < docs .count (); i ++) {
11941198                            if  (disi .advanceExact (docs .get (i ))) {
11951199                                builder .appendInt (0 );
11961200                            } else  {
@@ -1209,10 +1213,14 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
12091213                    }
12101214
12111215                    @ Override 
1212-                     public  void  loadBlock (BlockLoader .DoubleBuilder  builder , BlockLoader .Docs  docs , BlockDocValuesReader .ToDouble  toDouble )
1213-                         throws  IOException  {
1216+                     public  void  loadBlock (
1217+                         BlockLoader .DoubleBuilder  builder ,
1218+                         BlockLoader .Docs  docs ,
1219+                         int  offset ,
1220+                         BlockDocValuesReader .ToDouble  toDouble 
1221+                     ) throws  IOException  {
12141222                        double  value  = toDouble .convert (0L );
1215-                         for  (int  i  = 0 ; i  < docs .count (); i ++) {
1223+                         for  (int  i  = offset ; i  < docs .count (); i ++) {
12161224                            if  (disi .advanceExact (docs .get (i ))) {
12171225                                builder .appendDouble (value );
12181226                            } else  {
@@ -1307,8 +1315,8 @@ private void loadCurrentBlock(int blockIndex) throws IOException {
13071315                }
13081316
13091317                @ Override 
1310-                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1311-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1318+                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1319+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
13121320                        doc  = docs .get (i );
13131321                        builder .appendLong (longValue ());
13141322                    }
@@ -1343,8 +1351,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
13431351                }
13441352
13451353                @ Override 
1346-                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1347-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1354+                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1355+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
13481356                        doc  = docs .get (i );
13491357                        builder .appendInt (Math .toIntExact (longValue ()));
13501358                    }
@@ -1381,9 +1389,13 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
13811389                }
13821390
13831391                @ Override 
1384-                 public  void  loadBlock (BlockLoader .DoubleBuilder  builder , BlockLoader .Docs  docs , BlockDocValuesReader .ToDouble  toDouble )
1385-                     throws  IOException  {
1386-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1392+                 public  void  loadBlock (
1393+                     BlockLoader .DoubleBuilder  builder ,
1394+                     BlockLoader .Docs  docs ,
1395+                     int  offset ,
1396+                     BlockDocValuesReader .ToDouble  toDouble 
1397+                 ) throws  IOException  {
1398+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
13871399                        doc  = docs .get (i );
13881400                        builder .appendDouble (toDouble .convert (longValue ()));
13891401                    }
@@ -1463,10 +1475,10 @@ public long longValue() throws IOException {
14631475                }
14641476
14651477                @ Override 
1466-                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1478+                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
14671479                    // TODO: collect all doc ids for current block and then append values to builder? 
14681480
1469-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1481+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
14701482                        int  docId  = docs .get (i );
14711483                        if  (disi .advanceExact (docId )) {
14721484                            builder .appendLong (longValue ());
@@ -1486,10 +1498,10 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
14861498                }
14871499
14881500                @ Override 
1489-                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1501+                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
14901502                    // TODO: collect all doc ids for current block and then append values to builder? 
14911503
1492-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1504+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
14931505                        int  docId  = docs .get (i );
14941506                        if  (disi .advanceExact (docId )) {
14951507                            int  value  = Math .toIntExact (longValue ());
@@ -1511,11 +1523,15 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
15111523                }
15121524
15131525                @ Override 
1514-                 public  void  loadBlock (BlockLoader .DoubleBuilder  builder , BlockLoader .Docs  docs , BlockDocValuesReader .ToDouble  toDouble )
1515-                     throws  IOException  {
1526+                 public  void  loadBlock (
1527+                     BlockLoader .DoubleBuilder  builder ,
1528+                     BlockLoader .Docs  docs ,
1529+                     int  offset ,
1530+                     BlockDocValuesReader .ToDouble  toDouble 
1531+                 ) throws  IOException  {
15161532                    // TODO: collect all doc ids for current block and then append values to builder? 
15171533
1518-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1534+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
15191535                        int  docId  = docs .get (i );
15201536                        if  (disi .advanceExact (docId )) {
15211537                            double  value  = toDouble .convert (longValue ());
@@ -1638,8 +1654,8 @@ public int docValueCount() {
16381654                }
16391655
16401656                @ Override 
1641-                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1642-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1657+                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1658+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
16431659                        doc  = docs .get (i );
16441660                        start  = addresses .get (doc );
16451661                        end  = addresses .get (doc  + 1L );
@@ -1676,8 +1692,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
16761692                }
16771693
16781694                @ Override 
1679-                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1680-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1695+                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1696+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
16811697                        int  docId  = docs .get (i );
16821698                        start  = addresses .get (docId );
16831699                        end  = addresses .get (docId  + 1L );
@@ -1718,9 +1734,13 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
17181734                }
17191735
17201736                @ Override 
1721-                 public  void  loadBlock (BlockLoader .DoubleBuilder  builder , BlockLoader .Docs  docs , BlockDocValuesReader .ToDouble  toDouble )
1722-                     throws  IOException  {
1723-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1737+                 public  void  loadBlock (
1738+                     BlockLoader .DoubleBuilder  builder ,
1739+                     BlockLoader .Docs  docs ,
1740+                     int  offset ,
1741+                     BlockDocValuesReader .ToDouble  toDouble 
1742+                 ) throws  IOException  {
1743+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
17241744                        doc  = docs .get (i );
17251745                        start  = addresses .get (doc );
17261746                        end  = addresses .get (doc  + 1L );
@@ -1808,8 +1828,8 @@ public long nextValue() throws IOException {
18081828                }
18091829
18101830                @ Override 
1811-                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1812-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1831+                 public  void  loadBlock (BlockLoader .LongBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1832+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
18131833                        if  (disi .advanceExact (docs .get (i ))) {
18141834                            set ();
18151835                            if  (count  == 1 ) {
@@ -1846,8 +1866,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
18461866                }
18471867
18481868                @ Override 
1849-                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ) throws  IOException  {
1850-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1869+                 public  void  loadBlock (BlockLoader .IntBuilder  builder , BlockLoader .Docs  docs ,  int   offset ) throws  IOException  {
1870+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
18511871                        if  (disi .advanceExact (docs .get (i ))) {
18521872                            set ();
18531873                            if  (count  == 1 ) {
@@ -1888,9 +1908,13 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
18881908                }
18891909
18901910                @ Override 
1891-                 public  void  loadBlock (BlockLoader .DoubleBuilder  builder , BlockLoader .Docs  docs , BlockDocValuesReader .ToDouble  toDouble )
1892-                     throws  IOException  {
1893-                     for  (int  i  = 0 ; i  < docs .count (); i ++) {
1911+                 public  void  loadBlock (
1912+                     BlockLoader .DoubleBuilder  builder ,
1913+                     BlockLoader .Docs  docs ,
1914+                     int  offset ,
1915+                     BlockDocValuesReader .ToDouble  toDouble 
1916+                 ) throws  IOException  {
1917+                     for  (int  i  = offset ; i  < docs .count (); i ++) {
18941918                        if  (disi .advanceExact (docs .get (i ))) {
18951919                            set ();
18961920                            if  (count  == 1 ) {
0 commit comments