code: public int dischargeNegated(BitmapStorage32 container, int max) {
          int index = 0;
          while ((index < max) && (size() > 0)) {
              // first run
              int pl = getRunningLength();
              if (index + pl > max) {
                  pl = max - index;
              }
              container.addStreamOfEmptyWords(!getRunningBit(), pl);
              index += pl;
              int pd = getNumberOfLiteralWords();
              if (pd + index > max) {
                  pd = max - index;
              }
              writeNegatedLiteralWords(pd, container);
              discardFirstWords(pl + pd);
              index += pd;
          }
          return index;
      }
docs: Write out up to max words (negated), returns how many were written
  
  @param container target for writes
  @param max       maximal number of writes
  @return how many written