*/
@SuppressWarnings("unchecked")
public static <T extends Role> T enact(String roleName, ArtifactId artifact, Behaviour offeredPlayerBehaviour, AID agent) {
OpFeedbackParam<Role> r = new OpFeedbackParam<Role>();
try {
staticCtx.doAction(artifact, new Op(CommunicationArtifact.ENACT, roleName, offeredPlayerBehaviour, agent, r));
staticLogger.debug("Enactment completed succesfully.");
return (T)r.get();
} catch (CartagoException e) {
staticLogger.error("Error in enacting artifact "+artifact);
e.printStackTrace();