plantuml 中的嵌套 if 语句

Nested if statement in plantuml

我正在尝试在 plantuml 中做嵌套的 if 语句。这是代码:

@startuml
start
:Search for File;
if(Is in local cache?) then (yes)
    :Finish;
    stop
else (no)
    :Check Cached SearchObjectToNodeTb;
        if(Find in SearchObjectToNodeTb) then (yes)
            :Send refresh req. SO to SN;
        else(No)
            :Send SO query to closest SymbolToNodeCacheTb match;
            if(Symbol in Table) then (yes)
                switch(What role am I?)
                    case(SearchNode)
                        :Send out Query to SN and get SearchObject;
                    case(FileNode)
                        :Return results;
            else(No)//can't find the if statement for here
                switch(What role am I?)
                    case(client)
                        :Send to Node with closest result;
                    case(SearchNode)
                        :Perform alg. for tablesym. creation;


@enduml

看不到 else 的最后一个 if 语句。是否可以在 plantuml 中嵌套 if else 语句?

据我所知,endswitch(参见 https://plantuml.com/activity-diagram-beta)对我来说缺少以下作品:

@startuml
start
:Search for File;
if(Is in local cache?) then (yes)
    :Finish;
    stop
else (no)
    :Check Cached SearchObjectToNodeTb;
        if(Find in SearchObjectToNodeTb) then (yes)
            :Send refresh req. SO to SN;
        else(No)
            :Send SO query to closest SymbolToNodeCacheTb match;
            if(Symbol in Table) then (yes)
                switch(What role am I?)
                    case(SearchNode)
                        :Send out Query to SN and get SearchObject;
                    case(FileNode)
                        :Return results;
                endswitch
            else(No)
                switch(What role am I?)
                    case(client)
                        :Send to Node with closest result;
                    case(SearchNode)
                        :Perform alg. for tablesym. creation;
                endswitch
@enduml