private static final boolean svreconcile(long[] svA, long[] svB, Vector<long[]> deltas) {
        if (svA.length == 0 && svB.length == 0) {
            deltas.add(new long[0]); 
            deltas.add(new long[0]); 
            return true;
        }
        long[] diffA = svdiff(svA,svB);
        if(diffA.length > svthresh) return false;   // limit size of push vector
        long[] diffB = svdiff(svB,svA);
        if(diffB.length > svthresh) return false;   // limit size of pull vector 
        deltas.add(diffA);
        deltas.add(diffB);
        return true;
    }