Tokens indicating state of a Petri net model are represented by generic class Token. Type of the class parameter corresponds to the type of the token used in Petri nets. It also determinestype for the value field that holdsthe token value. This way any class can be used as token type, according to the requirements. Tokentimestamp is representedby timestamp field of the Token class. Consistent simulation of a Petri net requires token values to be controlledbythe netonly.InJava thisis noteasy to achieve, since objects are passed to and from methods by reference, not by value. Consequently, it might happen that one object is referred by more than one token as its value or a user could modify value of an object during simulation interfering with the simulation algorithm.