code: public static RateLimitInputStream limitRate(InputStream base, TickSource tickSource, int bytesPerTick, int prescale) {
        return new RateLimitInputStream(base, tickSource, bytesPerTick, prescale);
     }
docs: Creates a byte-rate-limited {@link InputStream}. See
  {@link RateLimitInputStream#RateLimitInputStream(InputStream, TickSource, int, int)}
  for detailed information.
  
  @param base
  The raw (underlying) {@link InputStream}
  @param tickSource
  The source of ticks
  @param bytesPerTick
  (see
  {@link RateLimitInputStream#RateLimitInputStream(InputStream, TickSource, int, int)}
  )
  @param prescale
  (see
  {@link RateLimitInputStream#RateLimitInputStream(InputStream, TickSource, int, int)}
  )
  @return the resulting input stream