code: protected synchronized void doClose() throws IOException {
          for (int i = 0; i < subReaders.length; i++) {
              subReaders[i].release();
          }
         subReaders = null;
         readersByCreationTick.clear();
      }
docs: {@inheritDoc}