private static P4CommandRunner.ActionAnswer<ShelveFilesResult> shelveFiles(Project project,
ClientConfig clientConfig, P4ChangelistId changelistId, List<FilePath> files) {
return P4ServerComponent.perform(project, clientConfig, new ShelveFilesAction(changelistId, files))
.whenServerError(e -> {
SwarmErrorMessage.send(project).couldNotShelveFiles(new SwarmErrorMessage.SwarmEvent(changelistId),
P4Bundle.message("swarm-client.shelve.failed", e.getLocalizedMessage()));
})
.whenOffline(() -> {
SwarmErrorMessage.send(project).couldNotShelveFiles(new SwarmErrorMessage.SwarmEvent(changelistId),
P4Bundle.message("swarm-client.shelve.offline"));
});
}