class AuthorizationTree implements AuthorizationInfo {

    @Override
    public Optional<String> getServiceOwnerBlockchainAddress() {
        final Optional<AuthorizationNode> root = tree.depthFirstStream().findFirst();
        // convert Optional<AuthorizationNode> to Optional<String>
        return root.map(AuthorizationNode::getAddress);
    }

    public  AuthorizationTree(List<AuthorizationElement> allAuthorizationElements);

}