public Combination(List<Token<T>> tokens) {
    if (tokens.size() != 5) {
      throw new IllegalArgumentException("No way. You need 5 tokens");
    }
    this.tokens = new ArrayList<Token<T>>(tokens);
  }