question: public void updateJoinResults ( final TransactionBase tx , final String childId , final VisibilityBindingSet childBindingSet , final JoinMetadata joinMetadata ) throws BindingSetConversionException { checkNotNull ( tx ) ; checkNotNull ( childId ) ; checkNotNull ( childBindingSet ) ; checkNotNull ( joinMetadata ) ; final IterativeJoin joinAlgorithm ; switch ( joinMetadata . getJoinType ( ) ) { case NATURAL_JOIN : joinAlgorithm = new NaturalJoin ( ) ; break ; case LEFT_OUTER_JOIN : joinAlgorithm = new LeftOuterJoin ( ) ; break ; default : throw new RuntimeException ( "Unsupported JoinType: " + joinMetadata . getJoinType ( ) ) ; } final Side emittingSide ; final String siblingId ; if ( childId . equals ( joinMetadata . getLeftChildNodeId ( ) ) ) { emittingSide = Side . LEFT ; siblingId = joinMetadata . getRightChildNodeId ( ) ; } else { emittingSide = Side . RIGHT ; siblingId = joinMetadata . getLeftChildNodeId ( ) ; } final FluoTableIterator siblingBindingSets = makeSiblingScanIterator ( childId , childBindingSet , siblingId , tx ) ; final Iterator < VisibilityBindingSet > newJoinResults ; if ( emittingSide == Side . LEFT ) { newJoinResults = joinAlgorithm . newLeftResult ( childBindingSet , siblingBindingSets ) ; } else { newJoinResults = joinAlgorithm . newRightResult ( siblingBindingSets , childBindingSet ) ; } final VariableOrder joinVarOrder = joinMetadata . getVariableOrder ( ) ; while ( newJoinResults . hasNext ( ) ) { final BindingSet newJoinResult = newJoinResults . next ( ) ; final String joinBindingSetStringId = idConverter . convert ( newJoinResult , joinVarOrder ) ; final String joinBindingSetStringValue = valueConverter . convert ( newJoinResult , joinVarOrder ) ; final String row = joinMetadata . getNodeId ( ) + NODEID_BS_DELIM + joinBindingSetStringId ; final Column col = FluoQueryColumns . JOIN_BINDING_SET ; final String value = joinBindingSetStringValue ; tx . set ( row , col , value ) ; } }
target:  Updates the results of a Join node when one of its children has added a new Binding Set to its results.