code: protected void fillBytes(int value, long count) throws BitStreamException {
  		// if it's short, write bytes directly
  		if (count < PAD_LIMIT) {
  			for (int i = 0; i < count; i++) writeByte(value);
  			return;
  		}
  
  		// obtain an array we can use to write the bytes efficiently
  		byte b = (byte) value;
  		byte[] buffer = getBuffer(b);
  		int len;
  		if (buffer == null) {
  			//TODO should all buffers be cached?
  			len = count > PAD_BUFFER ? PAD_BUFFER : (int) count;
  			buffer = new byte[len];
  			Arrays.fill(buffer, b);
  		} else {
  			len = PAD_BUFFER;
  		}
  
  		// if we can, just do it with a single buffer
  		if (count <= len) {
  			writeBytes(buffer, 0, (int) count);
  			return;
  		}
  
  		// write the buffer as many times as we need to
  		long limit = count / len;
  		for (long i = 0; i < limit; i++) {
  			writeBytes(buffer, 0, len);
  		}
  		int r = (int) (count - limit * len);
  		if (r != 0) writeBytes(buffer, 0, r);
  	}
docs: Writes a single value repeatedly into the sequence.
  
  @param value
  the value to be written
  @param count
  the number of bytes to write
  @throws BitStreamException
  if an exception occurs when writing