// Path: src/libra/common/sequence/SamplePathFilter.java
// public class SamplePathFilter implements PathFilter {
// 
//     private List<PathFilter> filters;
//     
//     public SamplePathFilter() {
//         this.filters = new ArrayList<PathFilter>();
//         
//         setFilters();
//     }
//     
//     protected void setFilters() {
//         this.filters.add(new FastaPathFilter());
//         this.filters.add(new FastqPathFilter());
//     }
//     
//     @Override
//     public boolean accept(Path path) {
//         for(PathFilter f : this.filters) {
//             if(f.accept(path)) {
//                 return true;
//             }
//         }
//         return false;
//     }
// }


import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import libra.common.sequence.SamplePathFilter;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
                }
            } else {
                paths.add(new Path(path));
            }
        }
        return paths.toArray(new Path[0]);
    }
    
    public static String[] makeStringFromPath(Path[] paths) {
        String[] pathStrings = new String[paths.length];
        for(int i=0;i<paths.length;i++) {
            pathStrings[i] = paths[i].toString();
        }
        return pathStrings;
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, String inputPathsCommaSeparated) throws IOException {
        return FileSystemHelper.getAllSamplePaths(conf, makePathFromString(conf, splitCommaSeparated(inputPathsCommaSeparated)));
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, String[] inputPaths) throws IOException {
        return FileSystemHelper.getAllSamplePaths(conf, makePathFromString(conf, inputPaths));
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, Collection<String> inputPaths) throws IOException {
        return FileSystemHelper.getAllSamplePaths(conf, makePathFromString(conf, inputPaths));
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, Path[] inputPaths) throws IOException {
        List<Path> inputFiles = new ArrayList<Path>();
// Path: src/libra/common/sequence/SamplePathFilter.java
// public class SamplePathFilter implements PathFilter {
// 
//     private List<PathFilter> filters;
//     
//     public SamplePathFilter() {
//         this.filters = new ArrayList<PathFilter>();
//         
//         setFilters();
//     }
//     
//     protected void setFilters() {
//         this.filters.add(new FastaPathFilter());
//         this.filters.add(new FastqPathFilter());
//     }
//     
//     @Override
//     public boolean accept(Path path) {
//         for(PathFilter f : this.filters) {
//             if(f.accept(path)) {
//                 return true;
//             }
//         }
//         return false;
//     }
// }


// Path: src/libra/common/helpers/FileSystemHelper.java
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import libra.common.sequence.SamplePathFilter;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

                }
            } else {
                paths.add(new Path(path));
            }
        }
        return paths.toArray(new Path[0]);
    }
    
    public static String[] makeStringFromPath(Path[] paths) {
        String[] pathStrings = new String[paths.length];
        for(int i=0;i<paths.length;i++) {
            pathStrings[i] = paths[i].toString();
        }
        return pathStrings;
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, String inputPathsCommaSeparated) throws IOException {
        return FileSystemHelper.getAllSamplePaths(conf, makePathFromString(conf, splitCommaSeparated(inputPathsCommaSeparated)));
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, String[] inputPaths) throws IOException {
        return FileSystemHelper.getAllSamplePaths(conf, makePathFromString(conf, inputPaths));
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, Collection<String> inputPaths) throws IOException {
        return FileSystemHelper.getAllSamplePaths(conf, makePathFromString(conf, inputPaths));
    }
    
    public static Path[] getAllSamplePaths(Configuration conf, Path[] inputPaths) throws IOException {
        List<Path> inputFiles = new ArrayList<Path>();
        SamplePathFilter filter = new SamplePathFilter();