code: public static RetryOnFailureXSiteCommand newInstance(XSiteBackup backup, XSiteReplicateCommand command,
                                                          RetryPolicy retryPolicy) {
        assertNotNull(backup, "XSiteBackup");
        assertNotNull(command, "XSiteReplicateCommand");
        assertNotNull(retryPolicy, "RetryPolicy");
        return new RetryOnFailureXSiteCommand(Collections.singletonList(backup), command, retryPolicy);
     }
docs: It builds a new instance with the destination site, the command and the retry policy.
  
  @param backup      the destination site.
  @param command     the command to invoke remotely.
  @param retryPolicy the retry policy.
  @return the new instance.
  @throws java.lang.NullPointerException if any parameter is {@code null}