static boolean areEquivalent(NamePosition p1, NamePosition p2) {
if (p1 == null && p2 == null) {
return true;
}
if ((p1 == null && p2 != null) || (p1 != null && p2 == null)) {
return false;
}
if ((p1.getItem() == null && p2.getItem() != null)
|| (p1.getItem() != null && p2.getItem() == null)) {
return false;
}
return ((p1.getItem() == null && p2.getItem() == null)
|| p1.getItem().isEquivalentTo(p2.getItem()))
&& p1.getStartLine() == p2.getStartLine()
&& p1.getPositionOnStartLine() == p2.getPositionOnStartLine()
&& p1.getEndLine() == p2.getEndLine()
&& p1.getPositionOnEndLine() == p2.getPositionOnEndLine();
}
}