// create the participant
boolean created = createParticipant(participantId, accessor, MODIFIER, 1);
Assert.assertTrue(created);
// read the participant
Participant participantSnapshot = accessor.readParticipant(participantId);
Assert.assertEquals(participantSnapshot.getUserConfig().getIntField(MODIFIER, -1), 1);
// create a participant with the same id
boolean created2 = createParticipant(participantId, accessor, MODIFIER, 2);
Assert.assertFalse(created2); // should fail since participant exists
// remove a required property
helixAccessor.removeProperty(helixAccessor.keyBuilder().messages(participantId.stringify()));
// try again, should work this time
created2 = createParticipant(participantId, accessor, MODIFIER, 2);
Assert.assertTrue(created2);
// read the cluster again
participantSnapshot = accessor.readParticipant(participantId);
Assert.assertEquals(participantSnapshot.getUserConfig().getIntField(MODIFIER, -1), 2);
accessor.dropCluster();
}