@Override
 public void apply(
     final ObjectID objectID, final DNACursor cursor, final ApplyTransactionInfo includeIDs)
     throws IOException {
   while (cursor.next()) {
     Object action = cursor.getAction();
     if (action instanceof PhysicalAction) {
       final PhysicalAction pa = (PhysicalAction) action;
       if (pa.isEntireArray()) {
         this.componentObjects = (Object[]) pa.getObject();
       } else {
         configMap.put(pa.getFieldName(), pa.getObject());
       }
     } else {
       final LogicalAction logicalAction = (LogicalAction) action;
       final int method = logicalAction.getMethod();
       final Object[] params = logicalAction.getParameters();
       applyMethod(objectID, method, params);
     }
   }
 }