*{ for instance-only interfaces }*
#{if mode == 'inst' || mode == 'passive'}
⇐ You only label instances (left) in this experiment.
#{/if}
*{ for the "grid" per-label dual interface }*
#{elseif mode == 'dual'}
#{list items:0..labelAlphabet.size()-1, as:'li'}
${labelAlphabet.lookupObject(li).toString()}
#{list items:queryFeatures.get(li), as:'feature'}
${feature}
#{/list}
#{list items:labeledFeatures.get(li), as:'feature'}
${feature}
#{/list}
#{/list}
#{/elseif}
*{ for the "serial" dual interface }*
#{else}
#{list items:queryFeatures.values(), as:'feature'}
${feature}
#{list items:0..labelAlphabet.size()-1, as:'li'}
${labelAlphabet.lookupObject(li).toString()}
#{/list}
X
#{/list}
#{/else}
#{list items:queryInstances, as:'inst'}
${inst.getSource().nl2br()}
#{list items:0..labelAlphabet.size()-1, as:'li'}
${labelAlphabet.lookupObject(li).toString()}
#{/list}
X
#{/list}