docs: public void setState(int[] state) {
          Tuple match = null;
          final int count = mTuples.size();
          for (int i = 0; i < count; i++) {
              final Tuple tuple = mTuples.get(i);
              if (StateSet.stateSetMatches(tuple.mSpecs, state)) {
                  match = tuple;
                  break;
              }
          }
          if (match == lastMatch) {
              return;
          }
          if (lastMatch != null) {
              cancel();
          }
  
          lastMatch = match;
  
          View view = (View) viewRef.get();
          if (match != null && view != null && view.getVisibility() == View.VISIBLE) {
              start(match);
          }
      }