public static Token of(TokenDomain domain, String secretTokenString) {
        return new Token(domain, secretTokenString);
    }
@Test
    void tokens_are_equality_comparable() {
        var td1 = TokenDomain.of("hash 1");
        var td2 = TokenDomain.of("hash 2");

        var td1_t1 = Token.of(td1, "foo");
        var td1_t2 = Token.of(td1, "foo");
        var td1_t3 = Token.of(td1, "bar");
        var td2_t1 = Token.of(td2, "foo");
        // Tokens in same domain with same content are equal
        assertEquals(td1_t1, td1_t2);
        // Tokens in same domain with different content are not equal
        assertNotEquals(td1_t1, td1_t3);
        // Tokens in different domains are not considered equal
        assertNotEquals(td1_t1, td2_t1);
    }