private DisplayState constructDisplayState() {
        DisplayState.States s = imagePanel instanceof SingleImagePanel ?
                DisplayState.States.SINGLE_IMAGE :
                DisplayState.States.QUAD_IMAGE;
        
        List<Command> filteredCommands = new ArrayList<Command>();
        for(Command c : executedCommands)
            if(!(c instanceof ScrollCommand) && !(c instanceof ChangeDisplayModeCommand))
                filteredCommands.add(c);
        
        return new DisplayState(s, iterator.getIndex(), filteredCommands);
    }