Program: 118915
Project: 118915
Buggy source:
protected void fillUIContents(){
  boolean isOnlyRemoteConnection=brandingService.getBrandingConfiguration().isOnlyRemoteConnection();
  List<ConnectionBean> storedConnections=loginHelper.getStoredConnections();
  storedConnections=LoginHelper.filterUsableConnections(storedConnections);
  for (  ConnectionBean connectionBean : storedConnections) {
    String user2=connectionBean.getUser();
    String repositoryId2=connectionBean.getRepositoryId();
    String workSpace=connectionBean.getWorkSpace();
    String name=connectionBean.getName();
    if (user2 != null && !"String_Node_Str".equals(user2) && repositoryId2 != null && !"String_Node_Str".equals(repositoryId2) && workSpace != null && !"String_Node_Str".equals(workSpace) && name != null && !"String_Node_Str".equals(name)) {
      boolean valid=Pattern.matches(RepositoryConstants.MAIL_PATTERN,user2);
      if (valid && RepositoryConstants.REPOSITORY_REMOTE_ID.equals(repositoryId2)) {
        String url=connectionBean.getDynamicFields().get(RepositoryConstants.REPOSITORY_URL);
        valid=url != null || !"String_Node_Str".equals(url);
      }
      connectionBean.setComplete(valid);
    }
  }
  if (!isOnlyRemoteConnection) {
    connectionsViewer.setInput(storedConnections);
  }
 else {
    List<ILoginConnectionService> loginConnectionServices=LoginConnectionManager.getRemoteConnectionService();
    List<ConnectionBean> lastRemoteConnections=new ArrayList<ConnectionBean>();
    if (loginConnectionServices.size() > 0) {
      for (      ILoginConnectionService loginConncetion : loginConnectionServices) {
        for (        ConnectionBean iBean : storedConnections) {
          String errorMsg=loginConncetion.checkConnectionValidation(iBean.getName(),iBean.getDescription(),iBean.getUser(),iBean.getPassword(),iBean.getWorkSpace(),iBean.getDynamicFields().get(RepositoryConstants.REPOSITORY_URL));
          if (StringUtils.isEmpty(errorMsg) && iBean.isComplete()) {
            lastRemoteConnections.add(iBean);
          }
        }
      }
    }
    if (lastRemoteConnections.size() > 0) {
      storedConnections=lastRemoteConnections;
    }
    connectionsViewer.setInput(storedConnections);
  }
  if (storedConnections.size() == 0) {
  }
 else   if (storedConnections.size() == 1) {
    connectionsViewer.setSelection(new StructuredSelection(new Object[]{storedConnections.get(0)}));
  }
 else {
    boolean selected=false;
    ConnectionBean selectedConnBean=loginHelper.getFirstConnBean();
    if (selectedConnBean != null) {
      connectionsViewer.setSelection(new StructuredSelection(new Object[]{selectedConnBean}));
      IStructuredSelection sel=(IStructuredSelection)connectionsViewer.getSelection();
      if (sel.getFirstElement() == selectedConnBean) {
        selected=true;
      }
    }
    if (!selected) {
      connectionsViewer.setSelection(new StructuredSelection(new Object[]{storedConnections.get(0)}));
    }
  }
  if (getConnection() != null || !validateFields()) {
    setRepositoryContextInContext();
  }
  fillUIProjectListWithBusyCursor();
  refreshNecessaryVisible();
}

Fixed version (ground truth):
protected void fillUIContents(){
  boolean isOnlyRemoteConnection=brandingService.getBrandingConfiguration().isOnlyRemoteConnection();
  List<ConnectionBean> storedConnections=loginHelper.getStoredConnections();
  storedConnections=LoginHelper.filterUsableConnections(storedConnections);
  for (  ConnectionBean connectionBean : storedConnections) {
    String user2=connectionBean.getUser();
    String repositoryId2=connectionBean.getRepositoryId();
    String workSpace=connectionBean.getWorkSpace();
    String name=connectionBean.getName();
    if (user2 != null && !"String_Node_Str".equals(user2) && repositoryId2 != null && !"String_Node_Str".equals(repositoryId2) && workSpace != null && !"String_Node_Str".equals(workSpace) && name != null && !"String_Node_Str".equals(name)) {
      boolean valid=Pattern.matches(RepositoryConstants.MAIL_PATTERN,user2);
      if (valid && RepositoryConstants.REPOSITORY_REMOTE_ID.equals(repositoryId2)) {
        String url=connectionBean.getDynamicFields().get(RepositoryConstants.REPOSITORY_URL);
        valid=url != null || !"String_Node_Str".equals(url);
      }
      connectionBean.setComplete(valid);
    }
  }
  if (!isOnlyRemoteConnection) {
    connectionsViewer.setInput(storedConnections);
  }
 else {
    List<ILoginConnectionService> loginConnectionServices=LoginConnectionManager.getRemoteConnectionService();
    List<ConnectionBean> lastRemoteConnections=new ArrayList<ConnectionBean>();
    if (loginConnectionServices.size() > 0) {
      for (      ILoginConnectionService loginConncetion : loginConnectionServices) {
        for (        ConnectionBean iBean : storedConnections) {
          String errorMsg=loginConncetion.checkConnectionValidation(iBean.getName(),iBean.getDescription(),iBean.getUser(),iBean.getPassword(),iBean.getWorkSpace(),iBean.getDynamicFields().get(RepositoryConstants.REPOSITORY_URL));
          if (StringUtils.isEmpty(errorMsg) && iBean.isComplete()) {
            lastRemoteConnections.add(iBean);
          }
        }
      }
    }
    if (lastRemoteConnections.size() > 0) {
      storedConnections=lastRemoteConnections;
    }
    connectionsViewer.setInput(storedConnections);
  }
  if (storedConnections.size() == 0) {
  }
 else   if (storedConnections.size() == 1) {
    connectionsViewer.setSelection(new StructuredSelection(new Object[]{storedConnections.get(0)}));
  }
 else {
    boolean selected=false;
    ConnectionBean selectedConnBean=loginHelper.getCurrentSelectedConnBean();
    if (selectedConnBean != null) {
      connectionsViewer.setSelection(new StructuredSelection(new Object[]{selectedConnBean}));
      IStructuredSelection sel=(IStructuredSelection)connectionsViewer.getSelection();
      if (sel.getFirstElement() == selectedConnBean) {
        selected=true;
      }
    }
    if (!selected) {
      connectionsViewer.setSelection(new StructuredSelection(new Object[]{storedConnections.get(0)}));
    }
  }
  if (getConnection() != null || !validateFields()) {
    setRepositoryContextInContext();
  }
  fillUIProjectListWithBusyCursor();
  refreshNecessaryVisible();
}