// Path: app/src/main/java/sbs20/filenotes/storage/File.java
// public class File {
//     private boolean isFolder;
//     private String name;
//     private String path;
//     private String id;
//     private String rev;
//     private long size;
//     private Date lastModified;
//     private Date clientModified;
//     private Object file;
//     private boolean isLocal;
// 
//     public File(FileMetadata dbxfile) {
//         this.isFolder = false;
//         this.name = dbxfile.getName();
//         this.path = dbxfile.getPathLower();
//         this.id = dbxfile.getId();
//         this.rev = dbxfile.getRev();
//         this.size = dbxfile.getSize();
//         this.lastModified = dbxfile.getServerModified();
//         this.clientModified = dbxfile.getClientModified();
//         this.file = dbxfile;
//         this.isLocal = false;
//     }
// 
//     public File(java.io.File file) {
//         this.isFolder = file.isDirectory();
//         this.name = file.getName();
//         this.path = file.getPath();
//         this.id = "";
//         this.rev = "";
//         this.size = file.length();
//         this.lastModified = new Date(file.lastModified());
//         this.clientModified = new Date(file.lastModified());
//         this.file = file;
//         this.isLocal = true;
//     }
// 
//     public boolean isFolder() {
//         return isFolder;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getPath() {
//         return path;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public String getRev() {
//         return rev;
//     }
// 
//     public long getSize() {
//         return size;
//     }
// 
//     public Date getLastModified() {
//         return lastModified;
//     }
// 
//     public Date getClientModified() {
//         return clientModified;
//     }
// 
//     public Object getFile() {return this.file;}
// 
//     public String key() {
//         return name;
//     }
// 
//     public boolean isLocal() { return this.isLocal; }
// }


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import sbs20.filenotes.storage.File;
package sbs20.filenotes.replication;



class FilePairCollection implements Iterable<FilePair> {
    private List<FilePair> list;

    FilePairCollection() {
        list = new ArrayList<>();
    }

    FilePair findByKey(String key) {
        for (FilePair filePair : list) {
            if (key.equals(filePair.key())) {
                return  filePair;
            }
        }

        return null;
    }

// Path: app/src/main/java/sbs20/filenotes/storage/File.java
// public class File {
//     private boolean isFolder;
//     private String name;
//     private String path;
//     private String id;
//     private String rev;
//     private long size;
//     private Date lastModified;
//     private Date clientModified;
//     private Object file;
//     private boolean isLocal;
// 
//     public File(FileMetadata dbxfile) {
//         this.isFolder = false;
//         this.name = dbxfile.getName();
//         this.path = dbxfile.getPathLower();
//         this.id = dbxfile.getId();
//         this.rev = dbxfile.getRev();
//         this.size = dbxfile.getSize();
//         this.lastModified = dbxfile.getServerModified();
//         this.clientModified = dbxfile.getClientModified();
//         this.file = dbxfile;
//         this.isLocal = false;
//     }
// 
//     public File(java.io.File file) {
//         this.isFolder = file.isDirectory();
//         this.name = file.getName();
//         this.path = file.getPath();
//         this.id = "";
//         this.rev = "";
//         this.size = file.length();
//         this.lastModified = new Date(file.lastModified());
//         this.clientModified = new Date(file.lastModified());
//         this.file = file;
//         this.isLocal = true;
//     }
// 
//     public boolean isFolder() {
//         return isFolder;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getPath() {
//         return path;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public String getRev() {
//         return rev;
//     }
// 
//     public long getSize() {
//         return size;
//     }
// 
//     public Date getLastModified() {
//         return lastModified;
//     }
// 
//     public Date getClientModified() {
//         return clientModified;
//     }
// 
//     public Object getFile() {return this.file;}
// 
//     public String key() {
//         return name;
//     }
// 
//     public boolean isLocal() { return this.isLocal; }
// }


// Path: app/src/main/java/sbs20/filenotes/replication/FilePairCollection.java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import sbs20.filenotes.storage.File;

package sbs20.filenotes.replication;



class FilePairCollection implements Iterable<FilePair> {
    private List<FilePair> list;

    FilePairCollection() {
        list = new ArrayList<>();
    }

    FilePair findByKey(String key) {
        for (FilePair filePair : list) {
            if (key.equals(filePair.key())) {
                return  filePair;
            }
        }

        return null;
    }

    void add(File file) {