@SuppressWarnings({ "rawtypes", "unchecked" }) private List getList(XQSequence xqc) throws XQException { ArrayList list = new ArrayList(); boolean hasNext = xqc.isOnItem(); if (!hasNext) { hasNext = xqc.next(); } while (hasNext) { list.add(xqc.getItem()); hasNext = xqc.next(); } return list; }
private void setCurrent() throws XQException { // TODO: construct XQItemType properly..? if (position > 0 && position <= sequence.size()) { Object current = sequence.get(position - 1); if (current instanceof XQItem) { XQItem item = (XQItem) current; setCurrent(item.getItemType(), item.getObject()); } else if (current instanceof XQSequence) { XQSequence sequence = (XQSequence) current; if (!sequence.isOnItem()) { sequence.first(); } setCurrent(sequence.getItemType(), sequence); } else { setCurrent(XQUtils.getTypeForObject(xqFactory, current), current); } } else { setCurrent(null, null); } }