DEPNode beta = state.getBeta();
int i, size = ps.size(), count = 0;
boolean lChanged, gChanged = false;
StringPrediction prediction;
DEPLabel label;
for (i=0; i<size; i++)
{
lChanged = false;
prediction = ps.get(i);
label = new DEPLabel(prediction.label, prediction.score);
if (label.isArc(LB_LEFT))
{
if (rerankUnique(prediction, label, beta, DEPLibEn.P_SBJ, lambda.id+1, beta.id, state))
lChanged = true;
else if (rerankNonHead(prediction, beta))
lChanged = true;
}
else if (label.isArc(LB_RIGHT))
{
if (rerankUnique(prediction, label, lambda, DEPLibEn.P_SBJ, 1, beta.id, state))
lChanged = true;
else if (rerankNonHead(prediction, lambda))
lChanged = true;