Bug 92871 [Wizards] [api] PopulateElementOperation
3.1 HEAD org.eclipse.ui.wizards.datatransfer.PopulateElementOperation public PopulateElementOperation(MinimizedFileSystemElement rootObject, IImportStructureProvider structureProvider) - this is API class - in 3.0, MinimizedFileSystemElement was in org.eclipse.ui.wizards.datatransfer an API package - in 3.1, MinimizedFileSystemElement is in org.eclipse.ui.internal.wizards.datatransfer an internal package - this would be a breaking API change, and would have an internal class appear in the signature of an API method
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
*/
    private void populateElement(MinimizedFileSystemElement element,
            IProgressMonitor monitor) throws InterruptedException {
        Object fileSystemObject = element.getFileSystemObject();
        ModalContext.checkCanceled(monitor);
        List children = provider.getChildren(fileSystemObject);
        if (children == null)
            children = new ArrayList(1);
        Iterator childrenEnum = children.iterator();
        while (childrenEnum.hasNext()) {
            
            createElement(element, childrenEnum.next(), 1);
        }
        element.setPopulated();
    }
    /**
     * Runs the operation. The result of this operation is always the elemen provided.
     */
    public void run(IProgressMonitor monitor) throws InterruptedException {
        try {
            this.monitor = monitor;
            monitor.beginTask(DataTransferMessages.DataTransfer_scanningChildren, IProgressMonitor.UNKNOWN);
            MinimizedFileSystemElement element = (MinimizedFileSystemElement) root;
            populateElement(element, monitor);
        } finally {
            monitor.done();
        }
    }
}