docs: @Override
      public int available() throws IOException {
          abortIfNeeded();
          int available = this.decryptedContents.available();
          if(available < this.virtualAvailable) {
              return available;
          } else {
              // Limit the number of bytes available to the number
              // of bytes remaining in the range.
              return (int)this.virtualAvailable;
          }
      }