I did more research into English history and realized that finding out the true heir is more complicated than I thought. What made the succession to the English throne unstable was the overthrow of King Richard II by the usurper Henry of Bolingbroke who became King Henry IV. This led to the later War of the Roses.
The issue of the succession originated in 1376. Edward III's son Edward the Black Prince died, so the next in line was his grandson Richard, who later became Richard II. The next in line after Richard would have been Phillipa the daughter of Lionel Duke of Clarence, the second son of Edward III(who died in 1368. However Edward III made an entail that limited the succession to male heirs, which made his 3rd son John of Gaunt the next in line after Richard.
I always thought that Richard II revoked the entail in 1386 when he named Roger Mortimer, the son of Phillipa and the ancestor of the Yorkist monarchs which made me believe that the Yorkist kings Edward IV and Richard III were the rightful Kings. However I found this article that claims that Richard II later restored Edward III's entail that limited succession to male heirs.
http://www.mercedesrochelle.com/wordpress/?p=2186
But even this wasn’t the end of the story. Richard was antagonistic toward John of Gaunt and this ill-will was transferred to his cousin Henry of Bolingbroke, especially after Henry joined the Lords Appellant and nearly cost him his throne in 1388. After the Appellant crisis, when Gaunt returned from Portugal, Richard received him joyfully back into the country; he had finally discovered that Gaunt’s presence was the only factor that kept his rebellious magnates at bay. In this time frame, by all indications, he restored Edward III’s entail and treated Gaunt as his heir—at least for the next five years.
But this favor did not extend to Bolingbroke. In 1394, as Richard was planning his expedition to Ireland, Gaunt petitioned Parliament to appoint Bolingbroke as Keeper of the realm. The Keeper was traditionally the heir to the throne, so Gaunt was fishing for a commitment. He couldn’t serve as Keeper himself because he was due to leave for the Aquitaine, so naturally Henry—next in line according to the entail—would take his place. However the Earl of March raised a strong objection, for he felt that he was heir apparent (it is possible he did not know about Edward III’s entail). Richard told them both to be silent and instead decided that his uncle Edmund of Langley, Duke of York (Gaunt’s younger brother) would be Keeper in his absence.
This was a whole new turn of events! Suddenly Gaunt was out and Edmund was in. From that point on, relations between Richard and the House of Lancaster began to sour. The King showered favors on his cousin, York’s son Edward, and created him Duke of Aumale. Whether Richard had intended to make York his heir, as Ian Mortimer concluded, remains speculation. If this was the case, it’s puzzling that Edmund defected to Bolingbroke, thus giving up his own—and his son’s—potential claim to the throne. Perhaps he had no inclination to be king; he was thought by many to be an indolent, irresolute fellow. Nonetheless, it was Edmund of Langley who fathered the House of York which proved so formidable in the Wars of the Roses.
Richard found it useful to keep everyone in suspense about the succession and never did proclaim a definite heir, though for the last several years he favored his fair-weather cousin Edward Duke of Aumale. When Bolingbroke invaded England, Aumale eventually went over to his side. That was the end of Edward’s possible aspirations!
So if it is true that Richard II restored the entail and made John of Gaunt the next in line, it means that the Mortimer line was not the rightful line to the succession of the throne. Yet the Lancastrian line was not the rightful line either, because Richard seemed to have excluded Henry of Bolingbroke from inheriting the throne as punishment for him joining the Lords Appellant. This was shown later when Richard confiscated the Duchy of Lancaster after John of Gaunt died, barring Henry from his inheritance which caused Henry to cause a rebellion that overthrew Richard.
This means that the next in line to Richard II around the time of his deposition would either be Edmund Duke of York, or John of Gaunt's other son John Beaufort by his mistress Katherine Swynford, who was later declared legitimate by the Pope, the king, and Parliament.
If Richard considered Edmund to be his heir, you may argue that it would still make the Yorkist kings the rightful kings as Edmund's son Richard of Conisburgh, 3rd Earl of Cambridge married Anne Mortimer of the Mortimer claim to the throne. However there is strong evidence that Edmund was cuckolded and Richard of Conisburgh was not his legitimate son. This is supported by the fact that his descendant Richard III's Y chromosome does not match with other male line Plantagenet descendants, the Somersets.
However, the Somersets are not from a legitimate line because they are descended from a bastard son of Henry Beaufort. The legitimate male Beaufort line died in 1471 during the War of the Roses. As far as I know, there are no legitimate So following the principle of Salic law, except in the absence of male heirs, the Barons of Stafford would be the legitimate heirs to Richard II.
However now, I am not sure whether Richard II restored Edward III's entail. If he revoked the entail, then the Yorkist kings were the rightful kings. If he did restore it, then neither the Yorkist or Lancastrian kings were the rightful kings and the Barons of Stafford are the rightful heirs. If he revoked the entail, but considered Edmund Duke of York to be his heir, then the rightful heirs would be the descendants of Edmund's daughter Constance Countess of Gloucester.
I therefore need your help in trying to determine the rightful succession to Richard II. Did he restore Edward III's entail or did he revoke it?
Now it gets even more confusing. This is from the Wikipedia article on Richard II when he was overthrown by Henry of Bolingbroke.
According to the official record (read by Thomas Arundel, archbishop of Canterbury, during an assembly of lords and commons at Westminster Hall on Tuesday 30 September), Richard gave up his crown willingly and ratified his deposition citing as a reason his own unworthiness as a monarch. On the other hand, the Traison et Mort Chronicle suggests otherwise. It describes a meeting between Richard and Henry that took place one day before the parliament's session. The king succumbed to blind rage, ordered his release from the Tower, called his cousin a traitor, demanded to see his wife and swore revenge throwing down his bonnet, while the duke refused to do anything without parliamentary approval.
So I am not sure which account is more accurate. Did Richard II willingly give his crown to Henry IV or was it done against his will? This affects whether the House of Lancaster was legitimate.