private static Combination<Colors> generateAttemptCombination(int i) {
    List<Token<Colors>> tokens = new ArrayList<Token<Colors>>();
      
    if (i == 1) {
      tokens.add(new Token<Colors> (Colors.R));
      tokens.add(new Token<Colors> (Colors.O));
      tokens.add(new Token<Colors> (Colors.Y));
      tokens.add(new Token<Colors> (Colors.G));
      tokens.add(new Token<Colors> (Colors.B));
    }
    
    if (i == 2) {
      tokens.add(new Token<Colors> (Colors.O));
      tokens.add(new Token<Colors> (Colors.Y));
      tokens.add(new Token<Colors> (Colors.G));
      tokens.add(new Token<Colors> (Colors.B));
      tokens.add(new Token<Colors> (Colors.P));
    }
    
    if (i == 3) {
      tokens.add(new Token<Colors> (Colors.Y));
      tokens.add(new Token<Colors> (Colors.G));
      tokens.add(new Token<Colors> (Colors.B));
      tokens.add(new Token<Colors> (Colors.P));
      tokens.add(new Token<Colors> (Colors.W));
    }
    
    return new Combination<Colors>(tokens);
  }