.getReplicationProgress() always in 99%

The thing is I have a three Replication objects : two pulls and one push.
so in order to get the the total and the progress I have a couple of methods , they are not implementated inside the push or pull changelistener

this is my method for the progress

  public int getReplicationProgress() {
        if (pullmaster != null && pullwork != null && pushwork != null) {
            return pullmaster.getChangesCount() + pullwork.getChangesCount() + pushwork.getChangesCount();
        }
        return 0;
    }

and in order to get the total what I do is

public int getReplicationTotal() {
        if (pullmaster != null && pullwork != null && pushwork != null) {
            return pullmaster.getCompletedChangesCount() + pullwork.getCompletedChangesCount() + pushwork.getCompletedChangesCount();
        }
        return 0;
    }