TempBuffer tb = TempBuffer.allocate(); byte[] buffer = tb.getBuffer();
TempBuffer tempBuf = TempBuffer.allocate(); byte[] buffer = tempBuf.getBuffer();
  public Value gzpassthru(Env env, @NotNull BinaryInput is)  {    WriteStream out = env.getOut();    TempBuffer tb = TempBuffer.allocate();    byte[] buffer = tb.getBuffer();    int length = 0;    try {      int sublen = is.read(buffer, 0, buffer.length);      while (sublen > 0) {        out.write(buffer, 0, sublen);        length += sublen;        sublen = is.read(buffer, 0, buffer.length);      }      return new LongValue(length);    } catch (IOException e) {      log.log(Level.FINE, e.toString(), e);      return BooleanValue.FALSE;    } finally {      TempBuffer.free(tb);    }  }