+ @Override
+ protected Close validate(final List<Object> objects, final List<Message> errors) throws PCEPDeserializerException {
+ if (objects == null) {
+ throw new IllegalArgumentException("Passed list can't be null.");
+ }
+ if (objects.isEmpty() || !(objects.get(0) instanceof CClose)) {
+ throw new PCEPDeserializerException("Close message doesn't contain CLOSE object.");
+ }
+ final Object o = objects.get(0);
+ final CCloseMessage msg = new CCloseMessageBuilder().setCClose((CClose) o).build();
+ objects.remove(0);
+ if (!objects.isEmpty()) {
+ throw new PCEPDeserializerException("Unprocessed Objects: " + objects);
+ }
+ return new CloseBuilder().setCCloseMessage(msg).build();
+ }
+
+ @Override
+ public int getMessageType() {
+ return TYPE;
+ }