docs: public static void putByteArrayValue(WsByteBuffer[] list, byte[] value, boolean bFlipLast) {
          if (null == list || null == value) {
              return;
          }
          if (value.length > getTotalCapacity(list)) {
              throw new IllegalArgumentException("Buffers not large enough");
          }
          int remaining = value.length;
          int offset = 0; // current offset into the value
          int avail = 0;
          for (int i = 0; i < list.length; i++) {
              avail = list[i].limit() - list[i].position();
              if (remaining <= avail) {
                  list[i].put(value, offset, remaining);
                  if (bFlipLast) {
                      list[i].flip();
                  }
                  break;
              }
              list[i].put(value, offset, avail);
              list[i].flip();
              offset += avail;
              remaining -= avail;
          }
      }