code: private void iterateGroupNodes(long groupdId, NodeReader nodeReader)
      {
          // while the index can be a long, the value is always an int
          int currentPointer = (int) headPointers.get(groupdId);
          checkArgument(currentPointer != NULL, "valid group must have non-null head pointer");
  
          while (currentPointer != NULL) {
              checkState(currentPointer < nextNodePointer, "error, corrupt pointer; max valid %s, found %s", nextNodePointer, currentPointer);
              nodeReader.read(currentPointer);
              currentPointer = nextPointers.get(currentPointer);
          }
      }
docs: used to iterate over all non-null nodes in the data structure
  
  @param nodeReader - will be passed every non-null nodePointer