docs: @GwtIncompatible
      public void setTarget(Reader in, int len) throws IOException {
          if (len < 0) {
              setAll(in);
              return;
          }
          char[] mychars = data;
          boolean shared = this.shared;
          if (mychars == null || shared || mychars.length < len) {
              mychars = new char[len];
              shared = false;
          }
          int count = 0;
          int c;
          while ((c = in.read(mychars, count, len)) >= 0) {
              len -= c;
              count += c;
              if (len == 0) break;
          }
          setTarget(mychars, 0, count, shared);
      }