@Test
  public void testCloneEquals() throws Exception {
    final String TEST_NAME = "testCloneEquals";
    PrismInternalTestUtil.displayTestTitle(TEST_NAME);

    // GIVEN
    PrismContext ctx = constructInitializedPrismContext();
    PrismObjectDefinition<UserType> userDefinition =
        getFooSchema(ctx).findObjectDefinitionByElementName(new QName(NS_FOO, "user"));
    PrismObject<UserType> user = userDefinition.instantiate();
    fillInUserDrake(user, true);
    PrismObject<UserType> clone = user.clone();

    // WHEN, THEN
    assertTrue("Clone not equal", clone.equals(user));
    assertTrue("Clone not equivalent", clone.equivalent(user));
  }