@Override
    public int read(final byte[] b, final int off, final int len) throws IOException {
      final int r = myDelegate.read(b, off, len);
      touch();
      return r;
    }
@Override
    public int read(final byte[] b, final int off, final int len)