code: @Override
    public boolean visit(Node node) throws Exception {
      BindableCpoWhere bcw = (BindableCpoWhere) node;
      CpoAttribute attribute;
      whereClause.append(bcw.toString(cpoClass));
      if (bcw.getValue() != null) {
        attribute = cpoClass.getAttributeJava(bcw.getAttribute());
        if (attribute == null) {
          attribute = cpoClass.getAttributeJava(bcw.getRightAttribute());
        }
        if (attribute == null) {
          if (bcw.getComparison() == CpoWhere.COMP_IN && bcw.getValue() instanceof Collection) {
            for (Object obj : (Collection) bcw.getValue()) {
              bindValues.add(new BindAttribute(bcw.getAttribute() == null ? bcw.getRightAttribute() : bcw.getAttribute(), obj));
            }
          } else {
            bindValues.add(new BindAttribute(bcw.getAttribute() == null ? bcw.getRightAttribute() : bcw.getAttribute(), bcw.getValue()));
          }
        } else {
          if (bcw.getComparison() == CpoWhere.COMP_IN && bcw.getValue() instanceof Collection) {
            for (Object obj : (Collection) bcw.getValue()) {
              bindValues.add(new BindAttribute(attribute, obj));
            }
          } else {
            bindValues.add(new BindAttribute(attribute, bcw.getValue()));
          }
        }
      }
      return true;
    }
docs: This is called for component elements which have no children
  
  @param node The element to be visited
  @return a boolean (false) to end visit or (true) to continue visiting