Java - Enums - Logical circular reference
<p>Imagine the following made up example:</p>

<pre><code>public enum Hand {
  ROCK(SCISSORS),
  PAPER(ROCK),
  SCISSORS(PAPER);

  private final Hand beats;

  Hand(Hand beats) {
    this.beats = beats;
  }
}
</code></pre>

<p>I will get an error <code>Illegal forward reference</code> for forward referencing <code>SCISSORS</code>.</p>

<hr>

<p>Is there a way to handle such forward references in Java?  </p>

<p>Or how would you model such a situation, where you have a logical circular reference between several enums values?</p>