.compareTo(Integer.valueOf(beforeProperties[beforeIndex].hashCode()));
if (d == 0) {
d = afterProperties[afterIndex].getName().compareTo(
beforeProperties[beforeIndex].getName());
}
PropertyState beforeProperty = null;
PropertyState afterProperty = null;
if (d < 0) {
afterProperty = afterTemplate.getProperty(afterSegment, afterId, afterIndex++);
} else if (d > 0) {
beforeProperty = beforeTemplate.getProperty(
beforeSegment, beforeId, beforeIndex++);
} else {
afterProperty = afterTemplate.getProperty(
afterSegment, afterId, afterIndex++);
beforeProperty = beforeTemplate.getProperty(
beforeSegment, beforeId, beforeIndex++);
}
if (!compareProperties(beforeProperty, afterProperty, diff)) {
return false;
}
}
while (afterIndex < afterProperties.length) {
if (!diff.propertyAdded(afterTemplate.getProperty(
afterSegment, afterId, afterIndex++))) {
return false;
}
}
while (beforeIndex < beforeProperties.length) {
PropertyState beforeProperty = beforeTemplate.getProperty(
beforeSegment, beforeId, beforeIndex++);
if (!diff.propertyDeleted(beforeProperty)) {
return false;
}
}