public static StructuralKey<?> empty() {
    return new StructuralKey<Object>() {
      @Override
      public Object getKey() {
        return this;
      }
    };
  }
@Test
  public void emptyKeysNotEqual() {
    StructuralKey<?> empty = StructuralKey.empty();

    assertThat(empty, Matchers.not(Matchers.equalTo(StructuralKey.empty())));
    assertThat(empty, Matchers.equalTo(empty));
  }