| synchronize() |  | 0% |  | 0% | 6 | 6 | 18 | 18 | 1 | 1 |
| onCreate() |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| isHex(int) |   | 68% |   | 41% | 5 | 7 | 0 | 1 | 0 | 1 |
| normalizeCommitId(String, String, boolean) |   | 80% |   | 60% | 4 | 6 | 1 | 8 | 0 | 1 |
| requireText(String, String) |   | 57% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
| complete(RelationProjectionRecovery.RecoveryStatus) |   | 70% |   | 50% | 2 | 3 | 1 | 5 | 0 | 1 |
| recordFailure(Throwable) |   | 92% |   | 50% | 2 | 3 | 0 | 13 | 0 | 1 |
| limit(String, int) |   | 63% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| setId(Long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| onUpdate() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getWorkspaceScopeKey() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getVersion() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setWorkspaceId(String) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| normalizeOptional(String) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| RelationProjectionRecovery() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setPreviousHeadCommit(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setAuthoritativeCommitId(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setRepositoryId(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setBranch(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setCausationId(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRepositoryId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getWorkspaceId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBranch() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPreviousHeadCommit() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAuthoritativeCommitId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCausationId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStatus() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAttemptCount() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFailureType() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFailureMessage() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFirstObservedAt() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLastObservedAt() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCompletedAt() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |