Program: 167380
Project: 167380
Buggy source:
protected void addInputModelCombo(XMLComponent componentDefintion,FormLayout formLayout,final Component component){
  FlowStep step=getSingleFlowStep();
  if (step != null) {
    String projectVersionId=step.getComponent().getProjectVersionId();
    if (componentDefintion.getInputMessageType() == MessageType.ENTITY || componentDefintion.getInputMessageType() == MessageType.ANY) {
      final AbstractSelect combo=new ComboBox("String_Node_Str");
      combo.setImmediate(true);
      combo.setNullSelectionAllowed(true);
      List<ModelName> models=context.getConfigurationService().findModelsInProject(projectVersionId);
      if (models != null) {
        for (        ModelName model : models) {
          combo.addItem(model);
          if (isNotBlank(component.getInputModelId()) && component.getInputModelId().equals(model.getId())) {
            combo.setValue(model);
          }
        }
      }
      combo.addValueChangeListener(new ValueChangeListener(){
        private static final long serialVersionUID=1L;
        @Override public void valueChange(        ValueChangeEvent event){
          ModelName model=(ModelName)combo.getValue();
          if (model != null) {
            component.setInputModel(context.getConfigurationService().findModel(model.getId()));
          }
 else {
            component.setInputModel(null);
          }
          context.getConfigurationService().save((AbstractObject)component);
          setSource(value);
        }
      }
);
      formLayout.addComponent(combo);
    }
  }
}

Fixed version (ground truth):
protected void addInputModelCombo(XMLComponent componentDefintion,FormLayout formLayout,final Component component){
  FlowStep step=getSingleFlowStep();
  if (step != null) {
    String projectVersionId=step.getComponent().getProjectVersionId();
    if (componentDefintion.getInputMessageType() == MessageType.ENTITY || componentDefintion.getInputMessageType() == MessageType.ANY) {
      final AbstractSelect combo=new ComboBox("String_Node_Str");
      combo.setImmediate(true);
      combo.setNullSelectionAllowed(true);
      List<ModelName> models=context.getConfigurationService().findModelsInProject(projectVersionId);
      if (models != null) {
        for (        ModelName model : models) {
          combo.addItem(model);
          if (isNotBlank(component.getInputModelId()) && component.getInputModelId().equals(model.getId())) {
            combo.setValue(model);
          }
        }
      }
      combo.addValueChangeListener(new ValueChangeListener(){
        private static final long serialVersionUID=1L;
        @Override public void valueChange(        ValueChangeEvent event){
          ModelName model=(ModelName)combo.getValue();
          if (model != null) {
            component.setInputModel(context.getConfigurationService().findModel(model.getId()));
          }
 else {
            component.setInputModel(null);
          }
          if (componentDefintion.isInputOutputModelsMatch()) {
            component.setOutputModel(component.getInputModel());
          }
          context.getConfigurationService().save((AbstractObject)component);
          setSource(value);
        }
      }
);
      formLayout.addComponent(combo);
    }
  }
}