protected ISVNStatus[] collectUnversionedFolders(ISVNStatus[] statuses,boolean recursive){
  if (statuses == null) {
    return null;
  }
  List<ISVNStatus> processed=new ArrayList<ISVNStatus>();
  for (  ISVNStatus status : statuses) {
    processed.add(status);
    if (status.getNodeKind() != SVNNodeKind.FILE && status.getTextStatus() == SVNStatusKind.UNVERSIONED) {
      File folder=status.getFile();
      if (!folder.isDirectory() && !folder.exists())       continue;
      Set<String> alreadyProcessed=new HashSet<String>();
      processUnversionedFolder(folder,processed,recursive,alreadyProcessed);
    }
  }
  return processed.toArray(new ISVNStatus[processed.size()]);
}

protected ISVNStatus [ ] collectUnversionedFolders ( ISVNStatus [ ] statuses , boolean recursive ) { if ( statuses == null ) { return null ; } List < ISVNStatus > processed = new ArrayList < ISVNStatus > ( ) ; for ( ISVNStatus status : statuses ) { processed . add ( status ) ; if ( status . getNodeKind ( ) != SVNNodeKind . FILE && status . getTextStatus ( ) == SVNStatusKind . UNVERSIONED ) { File folder = status . getFile ( ) ; if ( ! folder . isDirectory ( ) && ! folder . exists ( ) ) continue ; Set < String > alreadyProcessed = new HashSet < String > ( ) ; processUnversionedFolder ( folder , processed , recursive , alreadyProcessed ) ; } } return processed . toArray ( new ISVNStatus [ processed . size ( ) ] ) ; }
collect the content of unversioned folders .
