Source:
protected void processItems(List<ItemVersionObject> objects, RepositoryNode node) { if (node == null) { return; } IProjectRepositoryNode root = node.getRoot(); if (root instanceof ProjectRepositoryNode) { ((ProjectRepositoryNode) root).initNode(node); } if (node.getType() == ENodeType.REPOSITORY_ELEMENT) { if (node.getObject() != null) { Property property = node.getObject().getProperty(); Item item = property.getItem(); if (item != null && filterRepositoryNode(node)) { ItemVersionObject object = createItemVersionObject(node, property); objects.add(object); } if(item instanceof ProcessItem){ IContentProvider contentProvider = treeViewer.getContentProvider(); if (contentProvider instanceof NavigatorContentServiceContentProvider) { NavigatorContentServiceContentProvider navigatorProvider = (NavigatorContentServiceContentProvider) contentProvider; Object[] children = navigatorProvider.getChildren(node); for (Object child : children) { if (child instanceof RepositoryNode && ((RepositoryNode)child).getObject() != null) { ERepositoryObjectType childType = ((RepositoryNode)child).getObjectType(); if (ERepositoryObjectType.TEST_CONTAINER == childType) { Property childProperty = ((RepositoryNode)child).getObject().getProperty(); ItemVersionObject object = createItemVersionObject((RepositoryNode)child, childProperty); objects.add(object); } } } } } } } else { IContentProvider contentProvider = treeViewer.getContentProvider(); if (contentProvider instanceof NavigatorContentServiceContentProvider) { NavigatorContentServiceContentProvider navigatorProvider = (NavigatorContentServiceContentProvider) contentProvider; Object[] children = navigatorProvider.getChildren(node); for (Object child : children) { if (child instanceof RepositoryNode) { processItems(objects, (RepositoryNode) child); } } } else { for (IRepositoryNode child : node.getChildren()) { processItems(objects, (RepositoryNode) child); } } } }

Target:
protected void processItems(List<ItemVersionObject> objects, RepositoryNode node) { if (node == null) { return; } IProjectRepositoryNode root = node.getRoot(); if (root instanceof ProjectRepositoryNode) { ((ProjectRepositoryNode) root).initNode(node); } if (node.getType() == ENodeType.REPOSITORY_ELEMENT) { if (node.getObject() != null) { Property property = node.getObject().getProperty(); Item item = property.getItem(); if (item != null && filterRepositoryNode(node)) { ItemVersionObject object = createItemVersionObject(node, property); objects.add(object); } if(item instanceof ProcessItem){ if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerProviderService.class)) { ITestContainerProviderService testContainerService = (ITestContainerProviderService) GlobalServiceRegister .getDefault().getService(ITestContainerProviderService.class); if (testContainerService != null) { List<ProcessItem> testsItems = testContainerService.getAllTestContainers((ProcessItem)item); List<String> testIDs = new ArrayList<String>(); for(ProcessItem testItem : testsItems){ Property childProperty = testItem.getProperty(); if(testIDs.contains(childProperty.getId())){ continue; } IRepositoryViewObject testNode = null; try { testNode = ProxyRepositoryFactory.getInstance().getLastVersion(childProperty.getId()); testIDs.add(childProperty.getId()); } catch (PersistenceException e) { ExceptionHandler.process(e); } if(testNode != null){ RepositoryNode nodeChild = new RepositoryNode(testNode, node, ENodeType.REPOSITORY_ELEMENT); ItemVersionObject object = createItemVersionObject(nodeChild, testNode.getProperty()); objects.add(object); } } } } } } } else { IContentProvider contentProvider = treeViewer.getContentProvider(); if (contentProvider instanceof NavigatorContentServiceContentProvider) { NavigatorContentServiceContentProvider navigatorProvider = (NavigatorContentServiceContentProvider) contentProvider; Object[] children = navigatorProvider.getChildren(node); for (Object child : children) { if (child instanceof RepositoryNode) { processItems(objects, (RepositoryNode) child); } } } else { for (IRepositoryNode child : node.getChildren()) { processItems(objects, (RepositoryNode) child); } } } }