if (joiner.getIdent().equals("ROUND_ROBIN")) joinType = SIRJoinType.ROUND_ROBIN; else if (joiner.getIdent().equals("COMBINE")) joinType = SIRJoinType.COMBINE; else if (joiner.getIdent().equals("NULL")) joinType = SIRJoinType.COMBINE; else if (joiner.getIdent().equals("WEIGHTED_ROUND_ROBIN")) {   JExpression[] args = joiner.getArgs(); if (parentStream instanceof SIRSplitJoin) ((SIRSplitJoin)parentStream).setJoiner(SIRJoiner. createWeightedRR((SIRSplitJoin) parentStream, args)); if (parentStream instanceof SIRFeedbackLoop) ((SIRFeedbackLoop)parentStream).setJoiner(SIRJoiner. createWeightedRR((SIRFeedbackLoop) parentStream, args)); joinType = null; }
    private void buildJoiner(JExpression type)     {	if (!(type instanceof JMethodCallExpression))	    at.dms.util.Utils.fail(printLine(type) + 				   "arg to setJoiner must be a method call");	JMethodCallExpression joiner = (JMethodCallExpression)type;		if (joiner.getIdent().equals("ROUND_ROBIN"))	    joinType = SIRJoinType.ROUND_ROBIN;	else if (joiner.getIdent().equals("COMBINE"))	    joinType = SIRJoinType.COMBINE;	  		else if (joiner.getIdent().equals("NULL"))		joinType = SIRJoinType.COMBINE;	else if (joiner.getIdent().equals("WEIGHTED_ROUND_ROBIN")) {	    //For weighted round robins, the joiner get built here and set here	    JExpression[] args = joiner.getArgs();	    if (parentStream instanceof SIRSplitJoin)		((SIRSplitJoin)parentStream).setJoiner(SIRJoiner.							createWeightedRR((SIRSplitJoin)									 parentStream, 									 args));	    if (parentStream instanceof SIRFeedbackLoop)		((SIRFeedbackLoop)parentStream).setJoiner(SIRJoiner.							 createWeightedRR((SIRFeedbackLoop)									  parentStream, 									  args));	    joinType = null;	}		        }