Object obj;
State state = State.Init;
- while (!objects.isEmpty()) {
+ while (!objects.isEmpty() && !state.equals(State.End)) {
obj = objects.get(0);
switch (state) {
break;
}
case MetricIn:
- state = State.End;
+ state = State.IroIn;
if (obj instanceof Iro) {
builder.setIro((Iro) obj);
break;
}
+ case IroIn:
+ state = State.End;
+ break;
case End:
break;
default:
throw new PCEPDocumentedException("Unknown object", ((UnknownObject) obj).getError());
}
- objects.remove(0);
+ if (!state.equals(State.End)) {
+ objects.remove(0);
+ }
}
builder.setMetrics(metrics);
return builder.build();
}
private enum State {
- Init, EndpointsIn, EroIn, LspaIn, BandwidthIn, MetricIn, End
+ Init, EndpointsIn, EroIn, LspaIn, BandwidthIn, MetricIn, IroIn, End
}
@Override