public void setValue(final PropertyValue value) {
      if (value == null) {
        combobox.setSelectedItem(noneItem);
        return;
      }

      final PropertyValue[] cmdValue = new PropertyValue[1];
      if (component != null && component.get() != null) {
        final DesignDocument document = component.get().getDocument();
        document
            .getTransactionManager()
            .readAccess(
                new Runnable() {

                  public void run() {
                    cmdValue[0] =
                        value.getComponent().readProperty(CommandEventSourceCD.PROP_COMMAND);
                  }
                });
      }
      if (cmdValue[0] == null) {
        return;
      }
      DesignComponent command = cmdValue[0].getComponent();
      for (String key : values.keySet()) {
        DesignComponent tmpCommand = values.get(key);
        if (tmpCommand != null && tmpCommand.equals(command)) {
          combobox.setSelectedItem(key);
          break;
        }
      }
    }