private void toTag(LineEntry entry, NodeList result) { switch (entry.tickCount) { case 2: switch (state) { case Italics: result.add(ITALICS.createClose(false)); state = State.None; break; case BoldItalics: result.add(ITALICS.createClose(false)); state = State.Bold; break; case ItalicsBold: result.add(BOLD.createClose(true)); result.add(ITALICS.createClose(false)); result.add(BOLD.createOpen(true)); state = State.Bold; break; case Bold: result.add(ITALICS.createOpen(false)); state = State.BoldItalics; break; case None: result.add(ITALICS.createOpen(false)); state = State.Italics; break; } break; case 3: switch (state) { case Bold: result.add(BOLD.createClose(false)); state = State.None; break; case BoldItalics: result.add(ITALICS.createClose(true)); result.add(BOLD.createClose(false)); result.add(ITALICS.createOpen(true)); state = State.Italics; break; case ItalicsBold: result.add(BOLD.createClose(false)); state = State.Italics; break; case Italics: result.add(BOLD.createOpen(false)); state = State.ItalicsBold; break; case None: result.add(BOLD.createOpen(false)); state = State.Bold; break; } break; case 5: switch (state) { case Italics: result.add(ITALICS.createClose(false)); result.add(BOLD.createOpen(false)); state = State.Bold; break; case Bold: result.add(BOLD.createClose(false)); result.add(ITALICS.createOpen(false)); state = State.Italics; break; case BoldItalics: result.add(ITALICS.createClose(false)); result.add(BOLD.createClose(false)); state = State.None; break; case ItalicsBold: result.add(BOLD.createClose(false)); result.add(ITALICS.createClose(false)); state = State.None; break; case None: result.add(ITALICS.createOpen(false)); result.add(BOLD.createOpen(false)); state = State.ItalicsBold; break; } break; } }