code: public Observable<ProtectionPolicyResourceInner> createOrUpdateAsync(String vaultName, String resourceGroupName, String policyName, ProtectionPolicyResourceInner resourceProtectionPolicy) {
          return createOrUpdateWithServiceResponseAsync(vaultName, resourceGroupName, policyName, resourceProtectionPolicy).map(new Func1<ServiceResponse<ProtectionPolicyResourceInner>, ProtectionPolicyResourceInner>() {
              @Override
              public ProtectionPolicyResourceInner call(ServiceResponse<ProtectionPolicyResourceInner> response) {
                  return response.body();
              }
          });
      }
docs: Creates or modifies a backup policy. This is an asynchronous operation. Use the GetPolicyOperationResult API to Get the operation status.
  
  @param vaultName The name of the Recovery Services vault.
  @param resourceGroupName The name of the resource group associated with the Recovery Services vault.
  @param policyName The backup policy to be created.
  @param resourceProtectionPolicy The resource backup policy.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the ProtectionPolicyResourceInner object