Program: 121951
Project: 121951
Buggy source:
public void focusLost(FocusEvent event){
  if (!extendedProposal.isProposalOpened()) {
    Control control=(Control)event.widget;
    setCodeProblems(null);
    checkErrorsForPropertiesOnly(control);
    IWorkbench workbench=PlatformUI.getWorkbench();
    Property property=null;
    if (workbench != null) {
      IWorkbenchPage page=workbench.getActiveWorkbenchWindow().getActivePage();
      if (page != null) {
        IEditorPart editorPart=page.getActiveEditor();
        if (editorPart instanceof AbstractMultiPageTalendEditor) {
          AbstractMultiPageTalendEditor multiPageTalendEditor=((AbstractMultiPageTalendEditor)editorPart);
          property=multiPageTalendEditor.getProcess().getProperty();
        }
      }
    }
    if (property == null) {
      return;
    }
    ECodeLanguage language=((RepositoryContext)org.talend.core.CorePlugin.getContext().getProperty(org.talend.core.context.Context.REPOSITORY_CONTEXT_KEY)).getProject().getLanguage();
    property.getInformations().clear();
    if (language == ECodeLanguage.JAVA && proForJavaErrorMark != null) {
      for (      Problem problem : proForJavaErrorMark) {
        if (ProblemStatus.ERROR.equals(problem.getStatus())) {
          String problemResource=problem.getDescription();
          Information information=PropertiesFactory.eINSTANCE.createInformation();
          if (problemResource != null) {
            information.setText(problemResource);
          }
          information.setLevel(InformationLevel.ERROR_LITERAL);
          property.getInformations().add(information);
        }
      }
    }
 else     if (language == ECodeLanguage.PERL && proForPerlErrorMark != null) {
      for (      String componentName : proForPerlErrorMark.keySet()) {
        Problem problem=proForPerlErrorMark.get(componentName);
        if (ProblemStatus.ERROR.equals(problem.getStatus())) {
          String problemResource=problem.getDescription();
          Information information=PropertiesFactory.eINSTANCE.createInformation();
          if (problemResource != null) {
            information.setText(problemResource);
          }
          information.setLevel(InformationLevel.ERROR_LITERAL);
          property.getInformations().add(information);
        }
      }
    }
    Problems.computePropertyMaxInformationLevel(property);
    Problems.refreshRepositoryView();
    Problems.refreshProblemTreeView();
  }
}

Fixed version (ground truth):
@Override public void focusLost(FocusEvent event){
  if (!extendedProposal.isProposalOpened()) {
    Control control=(Control)event.widget;
    setCodeProblems(null);
    checkErrorsForPropertiesOnly(control);
    IWorkbench workbench=PlatformUI.getWorkbench();
    Property property=null;
    if (workbench != null) {
      IWorkbenchPage page=workbench.getActiveWorkbenchWindow().getActivePage();
      if (page != null) {
        IEditorPart editorPart=page.getActiveEditor();
        if (editorPart instanceof AbstractMultiPageTalendEditor) {
          AbstractMultiPageTalendEditor multiPageTalendEditor=((AbstractMultiPageTalendEditor)editorPart);
          property=multiPageTalendEditor.getProcess().getProperty();
        }
      }
    }
    if (property == null) {
      return;
    }
    ECodeLanguage language=((RepositoryContext)org.talend.core.CorePlugin.getContext().getProperty(org.talend.core.context.Context.REPOSITORY_CONTEXT_KEY)).getProject().getLanguage();
    property.getInformations().clear();
    if (language == ECodeLanguage.JAVA && proForJavaErrorMark != null) {
      for (      Problem problem : proForJavaErrorMark) {
        if (ProblemStatus.ERROR.equals(problem.getStatus())) {
          String problemResource=problem.getDescription();
          Information information=PropertiesFactory.eINSTANCE.createInformation();
          if (problemResource != null) {
            information.setText(problemResource);
          }
          information.setLevel(InformationLevel.ERROR_LITERAL);
          property.getInformations().add(information);
        }
      }
    }
 else     if (language == ECodeLanguage.PERL && proForPerlErrorMark != null) {
      for (      String componentName : proForPerlErrorMark.keySet()) {
        Problem problem=proForPerlErrorMark.get(componentName);
        if (ProblemStatus.ERROR.equals(problem.getStatus())) {
          String problemResource=problem.getDescription();
          Information information=PropertiesFactory.eINSTANCE.createInformation();
          if (problemResource != null) {
            information.setText(problemResource);
          }
          information.setLevel(InformationLevel.ERROR_LITERAL);
          property.getInformations().add(information);
        }
      }
    }
    Problems.computePropertyMaxInformationLevel(property);
    Problems.refreshRepositoryView();
    Problems.refreshProblemTreeView();
  }
}