private boolean setCaseChain(int varIndex, int choiceIndex) {

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) JmfTr.entry(this, tc, "setCaseChain", new Object[]{Integer.valueOf(varIndex), Integer.valueOf(choiceIndex)});

    if (choiceCache[varIndex] == choiceIndex) {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) JmfTr.exit(this, tc, "setCaseChain", Boolean.FALSE);
      return false;
    }

    int prevChoiceIndex = choiceCache[varIndex];
    choiceCache[varIndex] = choiceIndex;

    boolean dominated = setDominatingCases(variants[varIndex]);

    // We know we've changed a variant case, so we'll normally return 'true'
    // to signal the caller to check their caches. Howver if we set the
    // initial state of a variant that is not dominated by any other
    // variants the change cannot have any effect on anything already
    // cached, so we can return 'false'.
    boolean result = (dominated || (prevChoiceIndex != -1));

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) JmfTr.exit(this, tc, "setCaseChain", Boolean.valueOf(result));
    return result;
  }
private boolean setCaseChain ( int varIndex , int choiceIndex ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) JmfTr . entry ( this , tc , "setCaseChain" , new Object [ ] { Integer . valueOf ( varIndex ) , Integer . valueOf ( choiceIndex ) } ) ; if ( choiceCache [ varIndex ] == choiceIndex ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) JmfTr . exit ( this , tc , "setCaseChain" , Boolean . FALSE ) ; return false ; } int prevChoiceIndex = choiceCache [ varIndex ] ; choiceCache [ varIndex ] = choiceIndex ; boolean dominated = setDominatingCases ( variants [ varIndex ] ) ; boolean result = ( dominated || ( prevChoiceIndex != - 1 ) ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) JmfTr . exit ( this , tc , "setCaseChain" , Boolean . valueOf ( result ) ) ; return result ; }
concurrency issues. Called by setCase() & setDominatingCases