List<? extends Drift<?, ?>> result = driftServerPlugin.findDriftsByCriteria(subject, criteria);
if (result.size() != 1) {
throw new IllegalArgumentException("Drift record not found: " + driftId1);
}
Drift drift1 = result.get(0);
criteria.addFilterId(driftId2);
criteria.setPageControl(PageControl.getSingleRowInstance());
result = driftServerPlugin.findDriftsByCriteria(subject, criteria);
if (result.size() != 1) {
throw new IllegalArgumentException("Drift record not found: " + driftId2);
}
Drift drift2 = result.get(0);
return generateUnifiedDiff(subject, drift1, drift2);
}