anchor.diff:  With the PmCommandCfg you have the possibility to change the default behaviour of the PmCommand object. This means that you can configure for example 
   the behaviour before or after executing the command.
   
  -==== BeforeDo ====
  -
  -The beforeDo paramter defines what should be done before executing the command logic, whereat the following actions are possible:
  +==== beforeDo ====
  +
  +The _beforeDo_ paramter defines what should be done before executing the command logic, whereat the following actions are possible:
   
   * VALIDATE: This call validates the entered data of the containing PmDataInput objects (see Validation of a PM area [HIER LINK SETZEN!]). The doItImpl method of the command 
   will only be executed if the validation was successful.
  
positive.code: :lang: en
  :encoding: iso-8859-1
  
  == What is the feature used for ==
  
  PmCommand is an interface to execute actions for e.g. buttons, links or menu entries.
  
  == Usage of PmCommand objects ==
  
  In this chapter we will describe how a framework user can add a new command element. An example for that will be the usage of a button command element.  
  
  === Adding a new PmCommand ===
  
  To use a new command element you have to add the ui element (e.g. commandButton) into the xhtml file and corresponding PmCommand object into the related java implementation.
  
  1. XHTML file:
  [source]
  <ui:define name="content">
  	...
  		<base:commandButton pm="#{pm.button}" />
  	...
  </ui:define>
  
  1. Java class:
  [source]
  public final PmCommand button = new PmCommandImpl(this) {
  };
  
  === Performing an action ===
  
  To implement the necessary actions to execute you just have to override the doItImpl method.
  
  [source]
  @Override
  protected void doItImpl() throws Exception {
  };
  
  Example for a simple action:
  
  [source]
  ------------------------------------------------------------------------
  @PmTitleCfg(title = "Save")
  public final PmCommand add = new PmCommandImpl(this) {
  
      @Override
      protected void doItImpl() throws Exception { // Perform an action
          Person person = new Person();
  
          person.setFirstname(firstname.getValue());
          person.setLastname(lastname.getValue());
  
          persons.add(person);
      }
  };
  ------------------------------------------------------------------------
  
  === Validation of a PM area ===
  
  The validation of a command element is automatically called before executing the command. The default implementation of PMCommand 
  
negative.code: * DO_NOTHING: Does not care about existing (error-) messages and does not clear any of these messages before it gets executed.
  * DEFAULT: The definition, defined in the project specific PmDefaults will be used. The default implementation is VALIDATE.
  
  ==== afterDo ====
  
  The _afterDo_ parameter defines what should be done after executing the command logic, whereat the following actions are possible:
  
  * RESET_VALUE_CHANGED_STATE: Resets the value change state of the pm that is used as validation root.
  * CLEAR_CACHES: Clears the caches of all pm's along the path to the root pm. 
  * DO_NOTHING: Does not executes any special operation in the after do method of the command.
  * DEFAULT: The default logic is to execute CLEAR_CACHES and if VALIDATE is set for the beforeDo action also RESET_VALUE_CHANGED_STATE.
  
  ==== cmdKind ====
  
  The various roles of a commands in toolbars and command menus are supported by a CmdKind enum indicator.  
  
  The default value is COMMAND.
  
  