private void registerCaCertIfNeeded(String caCert, String caKey, Operation startOp) { Operation.createGet(this, ManagementUriParts.AUTH_CREDENTIALS_CA_LINK) .setCompletion((o, e) -> { String cert = caCert; String key = caKey; if (caCert == null || caKey == null) { cert = loadFileContent(CA_CERT_PEM_FILE, true); key = loadFileContent(CA_KEY_PEM_FILE, true); } if (e != null) { registerCaCert(cert, key, startOp); return; } AuthCredentialsServiceState caCred = o .getBody(AuthCredentialsServiceState.class); if (caCred.publicKey.equals(cert)) { registerClientCredIfNeeded(caCred, cert, key, startOp); } else { registerCaCert(cert, key, startOp); } }) .sendWith(this); }