Create an object for each permitted transition

Each permitted transition between states is represented by an instance of the Transition helper class.

From the state-transition diagram, you can see that the following transitions are required:
Figure 1. Creating an object for each permitted transition
private final Transition<MYLIFECYCLEENTITYSTATEEntry>
    OPEN2CLOSED =
    new Transition<MYLIFECYCLEENTITYSTATEEntry>(
      OPEN, CLOSED) {
  };


  private final Transition<MYLIFECYCLEENTITYSTATEEntry>
    OPEN2SUSPENDED =
    new Transition<MYLIFECYCLEENTITYSTATEEntry>(
      OPEN, SUSPENDED) {
  };


  private final Transition<MYLIFECYCLEENTITYSTATEEntry>
    SUSPENDED2OPEN =
    new Transition<MYLIFECYCLEENTITYSTATEEntry>(
      SUSPENDED, OPEN) {
  };


  private final Transition<MYLIFECYCLEENTITYSTATEEntry>
    SUSPENDED2CLOSED =
    new Transition<MYLIFECYCLEENTITYSTATEEntry>(
      SUSPENDED, CLOSED) {
  };

Each Transition object is an anonymous class, constructed with:

  1. the State being exited (i.e. transitioned from); and
  2. the State being entered (i.e. transitioned to).
Note: Specifying the set of permitted transitions is typically more straightforward than crafting logic to prevent unsupported transitions from occurring.

You do not need to specify a transition to the initial state - the initial state will be specified in setNewInstanceDefaults (see below).