// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.tsp.ers;

import java.util.Collection;
import java.util.ArrayList;
import java.util.List;
import java.util.LinkedList;
import java.util.Comparator;

public class SortedHashList
{
    private static final Comparator<byte[]> hashComp;
    private final LinkedList<byte[]> baseList;
    
    public SortedHashList() {
        this.baseList = new LinkedList<byte[]>();
    }
    
    public byte[] getFirst() {
        return this.baseList.getFirst();
    }
    
    public void add(final byte[] array) {
        if (this.baseList.size() == 0) {
            this.baseList.addFirst(array);
        }
        else if (SortedHashList.hashComp.compare(array, this.baseList.get(0)) < 0) {
            this.baseList.addFirst(array);
        }
        else {
            int n;
            for (n = 1; n < this.baseList.size() && SortedHashList.hashComp.compare(this.baseList.get(n), array) <= 0; ++n) {}
            if (n == this.baseList.size()) {
                this.baseList.add(array);
            }
            else {
                this.baseList.add(n, array);
            }
        }
    }
    
    public int size() {
        return this.baseList.size();
    }
    
    public List<byte[]> toList() {
        return new ArrayList<byte[]>(this.baseList);
    }
    
    static {
        hashComp = new ByteArrayComparator();
    }
}
