List list = join.getConditions();
List list = ((ConditionsDescriptor)join.getConditions().get(0)).getConditions();
  public void processJoinChangeEvent(JoinCell cell)  {    JoinDescriptor join = cell.getJoinDescriptor();    List list = join.getConditions();    for(int i = 0; i < list.size(); i++)    {      ConditionDescriptor cond = (ConditionDescriptor)list.get(i);      if(cond.getType().equals("class"))      {        String clazz = (String)cond.getArgs().get("class.name");        try        {          Object obj = Class.forName(clazz).newInstance();          if(obj instanceof JoinChangedListener)          {            JoinChangedEvent event = new JoinChangedEvent(cell, this);            event.setArgs(cond.getArgs());            ((JoinChangedListener)obj).joinChanged(event);            cond.getArgs().putAll(event.getArgs());          }        }        catch(Exception e)        {        }      }    }  }