* @return true if the delete was successful, false otherwise.
     */
    public boolean deleteAction(Action action) {

        // gen instance of state manager
        StateManager stateManager = library.getStateManager();

        if (getObject(ACTION_KEY) != null) {
            // mark this action for delete.
            Action currentAction = getAction();
            if (currentAction.similar(action)) {
                // clear the action key for the annotation and add it as changed.
                // add the new action to the annotation
                getEntries().remove(ACTION_KEY);
                currentAction.setDeleted(true);
                // mark the action as changed.
                stateManager.addChange(new PObject(currentAction,
                        currentAction.getPObjectReference()));
                // mark the action as change.d 
                stateManager.addChange(new PObject(this, getPObjectReference()));
                return true;
            }
        }
        return false;
    }