public String findNext(boolean previousFlipped){
  boolean resetIsFlipped=true;
  if (previousFlipped && count > 0) {
    if (!valueIterator.hasNext()) {
      valueIterator=values.iterator();
      index=0;
      isFlipped=true;
      resetIsFlipped=false;
    }
 else {
      index++;
    }
    currentValue=valueIterator.next();
  }
  count++;
  if (resetIsFlipped) {
    isFlipped=false;
  }
  return currentValue;
}

public String findNext ( boolean previousFlipped ) { boolean resetIsFlipped = true ; if ( previousFlipped && count > 0 ) { if ( ! valueIterator . hasNext ( ) ) { valueIterator = values . iterator ( ) ; index = 0 ; isFlipped = true ; resetIsFlipped = false ; } else { index ++ ; } currentValue = valueIterator . next ( ) ; } count ++ ; if ( resetIsFlipped ) { isFlipped = false ; } return currentValue ; }
find the next value of the value chain .
