code: public DFSContent[] getChildren() {
      if (this.rootFolder == null) {
        /*
         * DfsFolder constructor might block as it contacts the NameNode: work
         * asynchronously here or this will potentially freeze the UI
         */
        new Job("Connecting to DFS " + location) {
          @Override
          protected IStatus run(IProgressMonitor monitor) {
            try {
              rootFolder = new DFSFolder(provider, location);
              return Status.OK_STATUS;
  
            } catch (IOException ioe) {
              rootFolder =
                  new DFSMessage("Error: " + ioe.getLocalizedMessage());
              return Status.CANCEL_STATUS;
  
            } finally {
              // Under all circumstances, update the UI
              provider.refresh(DFSLocation.this);
            }
          }
        }.schedule();
  
        return new DFSContent[] { new DFSMessage("Connecting to DFS "
            + toString()) };
      }
      return new DFSContent[] { this.rootFolder };
    }
docs: /* @inheritDoc