public void toEPL(StringWriter writer,Expression optionalWhereClause,EPStatementFormatter formatter){
  formatter.beginMerge(writer);
  writer.write("merge ");
  writer.write(windowName);
  if (optionalAsName != null) {
    writer.write(" as ");
    writer.write(optionalAsName);
  }
  if (optionalWhereClause != null) {
    formatter.beginMergeWhere(writer);
    writer.write("where ");
    optionalWhereClause.toEPL(writer,ExpressionPrecedenceEnum.MINIMUM);
  }
  for (  OnMergeMatchItem item : matchItems) {
    item.toEPL(writer,formatter);
  }
}

public void toEPL ( StringWriter writer , Expression optionalWhereClause , EPStatementFormatter formatter ) { formatter . beginMerge ( writer ) ; writer . write ( "merge " ) ; writer . write ( windowName ) ; if ( optionalAsName != null ) { writer . write ( " as " ) ; writer . write ( optionalAsName ) ; } if ( optionalWhereClause != null ) { formatter . beginMergeWhere ( writer ) ; writer . write ( "where " ) ; optionalWhereClause . toEPL ( writer , ExpressionPrecedenceEnum . MINIMUM ) ; } for ( OnMergeMatchItem item : matchItems ) { item . toEPL ( writer , formatter ) ; } }
renders the clause in textual representation .
