public Object[] GetUndoObjects() { if (plan == null) { return(new Object[0]); } Object[] planUndoObjects = plan.GetUndoObjects(); Object[] returnObjects = new Object[planUndoObjects.Length + 1]; returnObjects[0] = this; for (int i = 1; i < planUndoObjects.Length + 1; i++) { returnObjects[i] = planUndoObjects[i - 1]; } return(returnObjects); }