ElementSymbol e2 = new ElementSymbol("b1"); //$NON-NLS-1$
ElementSymbol e3 = new ElementSymbol("c1"); //$NON-NLS-1$
ElementSymbol e4 = new ElementSymbol("d1"); //$NON-NLS-1$
List jcrits1 = new ArrayList();
jcrits1.add(new CompareCriteria(e1, CompareCriteria.EQ, e2));
List jcrits2 = new ArrayList();
jcrits2.add(new CompareCriteria(e2, CompareCriteria.EQ, e3));
List jcrits3 = new ArrayList();
jcrits3.add(new CompareCriteria(e1, CompareCriteria.EQ, e4));
JoinPredicate jp1 = new JoinPredicate(g2, g3, JoinType.JOIN_RIGHT_OUTER, jcrits2);
JoinPredicate jp2 = new JoinPredicate(g1, jp1, JoinType.JOIN_INNER, jcrits1);
JoinPredicate jp3 = new JoinPredicate(jp2, g4, JoinType.JOIN_INNER, jcrits3);