protected void changePullRequestStatus(final String repository,
final long id,
final PullRequestStatus status) {
checkNotEmpty("repository",
repository);
checkNotNull("status",
status);
GitMetadata metadata = getRepositoryMetadata(repository);
PullRequest pullRequest = metadata.getPullRequest(id);
PullRequestImpl finalPullRequest = new PullRequestImpl(pullRequest.getId(),
pullRequest.getSourceSpace(),
pullRequest.getSourceRepository(),
pullRequest.getSourceBranch(),
pullRequest.getTargetSpace(),
pullRequest.getTargetRepository(),
pullRequest.getTargetBranch(),
status);
List<PullRequest> finalPullRequests = metadata.getPullRequests(elem -> elem.getId() != id);
finalPullRequests.add(finalPullRequest);
GitMetadata storableMetadata = new GitMetadataImpl(metadata.getName(),
metadata.getOrigin(),
metadata.getForks(),
finalPullRequests);
this.metadataStore.write(storableMetadata.getName(),
storableMetadata);
}