code: protected FilePath findPullUpDirectory(FilePath root) throws IOException, InterruptedException {
          // if the directory just contains one directory and that alone, assume that's the pull up subject
          // otherwise leave it as is.
          List<FilePath> children = root.list();
          if(children.size()!=1)    return null;
          if(children.get(0).isDirectory())
              return children.get(0);
          return null;
      }
docs: Often an archive contains an extra top-level directory that's unnecessary when extracted on the disk
  into the expected location. If your installation sources provide that kind of archives, override
  this method to find the real root location.
  
  <p>
  The caller will "pull up" the discovered real root by throw away the intermediate directory,
  so that the user-configured "tool home" directory contains the right files.
  
  <p>
  The default implementation applies some heuristics to auto-determine if the pull up is necessary.
  This should work for typical archive files.
  
  @param root
  The directory that contains the extracted archive. This directory contains nothing but the
  extracted archive. For example, if the user installed
  http://archive.apache.org/dist/ant/binaries/jakarta-ant-1.1.zip , this directory would contain
  a single directory "jakarta-ant".
  
  @return
  Return the real top directory inside {@code root} that contains the meat. In the above example,
  {@code root.child("jakarta-ant")} should be returned. If there's no directory to pull up,
  return null.