code: @Override
      public boolean hasNext() {
          if (readBuffer != null && readBuffer.remaining() != 0) {
              logger.debug("There are still elements in the readBuffer");
              return true;
          } else if (actualFile != null && actualFileOffset < actualFile.getFilledUpFromContentStart()) {
              logger.debug("The end of the actual file is not reached yet.");
              return true;
          } // Since version 0.2.23-SNAPSHOT all files are created, even if they don't contain elements
          else if (actualBucketId < numberOfBuckets - 1) {
              logger.debug("Not all files were read. Trying to open next file");
              try {
                  this.handleFile();
              } catch (FileLockException e) {
                  logger.error("Skipping file. Not all elements might have been iterated. {}", e);
              } catch (IOException e) {
                  logger.error("Skipping file. Not all elements might have been iterated. {}", e);
              }
              return hasNext();
          }
  
          if (actualFile != null) {
              actualFile.close();
          }
          return false;
      }
docs: Returns <code>true</code> if this iterator has one more element, otherwise it returns <code>false</code>. If an
  error occurs while accessing the bucket file an {@link IllegalStateException} is thrown.