private void convertEdge(final FlowsIntoType flowsInto, final EdgeType edge) {
   if (flowsInto.getIsDefaultFlow() != null) {
     edge.setDefault(true);
   } else {
     edge.setDefault(false);
   }
   if (flowsInto.getPredicate() != null) {
     ConditionExpressionType expressionType = CPF_FACTORY.createConditionExpressionType();
     expressionType.setLanguage(CPFSchema.EXPRESSION_LANGUAGE_XPATH);
     expressionType.setExpression(flowsInto.getPredicate().getValue());
     edge.setConditionExpr(expressionType);
   }
 }
 protected void connectToSuccessors(final NodeType node, final List<FlowsIntoType> flowsIntoList)
     throws CanoniserException {
   for (final FlowsIntoType flowsInto : flowsIntoList) {
     // Check if the next element has already been converted (in case of cycles) and get its
     // introduced predecessor node.
     final NodeType introducedNode =
         getContext().getIntroducedPredecessor(flowsInto.getNextElementRef());
     if (introducedNode != null) {
       EdgeType edge = createSimpleEdge(node, introducedNode);
       convertEdge(flowsInto, edge);
     } else {
       // Add ourself to the waiting queue for the next element
       getContext()
           .getIncomingQueue(flowsInto.getNextElementRef())
           .add(new PredecessorAdapater(node, flowsInto));
     }
   }
 }