code: public static Element[] toElementArray(Document doc, Object o) throws PageException {
  	// Node[]
  	if (o instanceof Node[]) {
  	    Node[] nodes = (Node[]) o;
  	    if (_isAllOfSameType(nodes, Node.ELEMENT_NODE)) return (Element[]) nodes;
  
  	    Element[] elements = new Element[nodes.length];
  	    for (int i = 0; i < nodes.length; i++) {
  		elements[i] = toElement(doc, nodes[i]);
  	    }
  	    return elements;
  	}
  	// Collection
  	else if (o instanceof Collection) {
  	    Collection coll = (Collection) o;
  	    Iterator<Object> it = coll.valueIterator();
  	    List<Element> elements = new ArrayList<Element>();
  	    while (it.hasNext()) {
  		elements.add(toElement(doc, it.next()));
  	    }
  	    return elements.toArray(new Element[elements.size()]);
  	}
  	// Node Map and List
  	Node[] nodes = _toNodeArray(doc, o);
  	if (nodes != null) return toElementArray(doc, nodes);
  	// Single Text Node
  	try {
  	    return new Element[] { toElement(doc, o) };
  	}
  	catch (ExpressionException e) {
  	    throw new XMLException("can't cast Object of type " + Caster.toClassName(o) + " to a XML Element Array");
  	}
      }
docs: casts a value to a XML Element Array
  
  @param doc XML Document
  @param o Object to cast
  @return XML Comment Array
  @throws PageException