public static <T> Result<T> of() {
    return new Result<>(null);
  }
@Test
  public void test_equals_and_hashCode() {
    String errorMessage = "the error";
    Result.Message txtMsg = Result.Message.of(errorMessage);
    Result.Message sameTxtMsg = Result.Message.of(errorMessage);
    Result.Message otherTxtMessage = Result.Message.of("other");

    assertThat(txtMsg)
      .isEqualTo(txtMsg)
      .isEqualTo(sameTxtMsg)
      .isNotEqualTo(otherTxtMessage);

    Result.Message msg = Result.Message.ofL10n("issue.error.123", "10");
    Result.Message sameMsg = Result.Message.ofL10n("issue.error.123", "10");
    Result.Message otherMsg1 = Result.Message.ofL10n("issue.error.123", "200");
    Result.Message otherMsg2 = Result.Message.ofL10n("issue.error.50");

    assertThat(msg)
      .isEqualTo(msg)
      .isEqualTo(sameMsg)
      .isNotEqualTo(otherMsg1)
      .isNotEqualTo(otherMsg2)
      .hasSameHashCodeAs(msg)
      .hasSameHashCodeAs(sameMsg);
    assertThat(msg.hashCode()).isNotEqualTo(otherMsg1.hashCode());
  }