data_in.clear();
data_in = Collections.emptyList();
    public ClusterCodeGenerator(SIROperator oper,                                 JFieldDeclaration fields[]) {            this.oper = oper;        this.fields = fields;        id = NodeEnumerator.getSIROperatorId(oper);        node = NodeEnumerator.getFlatNode(id);        Integer init_int = (Integer)ClusterBackend.initExecutionCounts.get(node);        if (init_int == null) { init_counts = 0; } else { init_counts = init_int.intValue(); }        steady_counts = ((Integer)ClusterBackend.steadyExecutionCounts.get(node)).intValue();        if (oper instanceof SIRFilter) {            work_function = ClusterUtils.getWorkName(((SIRFilter)oper), id);        }         if (oper instanceof SIRSplitter) {            work_function = "__splitter_"+id+"_work";        }        if (oper instanceof SIRJoiner) {            work_function = "__joiner_"+id+"_work";        }        isEliminated = ClusterFusion.isEliminated(node);        fusedWith = ClusterFusion.fusedWith(node);        data_in = RegisterStreams.getNodeInStreams(oper);        data_out = RegisterStreams.getNodeOutStreams(oper);        if (oper instanceof SIRStream) {            SIRStream stream = (SIRStream)oper;            if (stream.getInputType().toString().compareTo("void") == 0)                 data_in.clear();            if (stream.getOutputType().toString().compareTo("void") == 0)                 data_out.clear();        }        msg_from = new Vector<SIRStream>();        msg_to = new Vector<SIRStream>();        restrictedExecution = false;        sendsCreditsTo = new HashSet();        sendsCredits = false;        if (oper instanceof SIRFilter) {            SIRFilter f = (SIRFilter)oper;            restrictedExecution = LatencyConstraints.isRestricted(f);                     /*              if (restrictedExecution) {              initCredit = LatencyConstraints.getInitCredit(f);               }            */            sendsCreditsTo = LatencyConstraints.getOutgoingConstraints(f);            sendsCredits = (sendsCreditsTo.size() > 0);            SIRPortal outgoing[] = SIRPortal.getPortalsWithSender(f);            SIRPortal incoming[] = SIRPortal.getPortalsWithReceiver(f);            for (int t = 0; t < outgoing.length; t++) {                SIRStream[] receivers = outgoing[t].getReceivers();                for (int i = 0; i < receivers.length; i++) {                    if (!msg_to.contains(receivers[i])) {                        msg_to.add(receivers[i]);                    }                }            }            for (int t = 0; t < incoming.length; t++) {                SIRPortalSender[] senders = incoming[t].getSenders();                for (int i = 0; i < senders.length; i++) {                    if (!msg_from.contains(senders[i].getStream())) {                        msg_from.add(senders[i].getStream());                    }                }            }        }    }