code: public Observable<KeyBundle> createKeyAsync(String vaultBaseUrl, String keyName, JsonWebKeyType kty) {
          return createKeyWithServiceResponseAsync(vaultBaseUrl, keyName, kty).map(new Func1<ServiceResponse<KeyBundle>, KeyBundle>() {
              @Override
              public KeyBundle call(ServiceResponse<KeyBundle> response) {
                  return response.body();
              }
          });
      }
docs: Creates a new key, stores it, then returns key parameters and attributes to the client.
  The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.
  
  @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net.
  @param keyName The name for the new key. The system will generate the version name for the new key.
  @param kty The type of key to create. For valid values, see JsonWebKeyType. Possible values include: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct'
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the KeyBundle object