public java.lang.String[] retrieve(java.lang.String sessionId, int start, int howmany, boolean indent, boolean xinclude, java.lang.String highlight) throws java.rmi.RemoteException {
final Session session = getSession(sessionId);
DBBroker broker = null;
try {
broker = pool.get(session.getUser());
final QueryResult queryResult = session.getQueryResult();
if (queryResult == null)
{throw new RemoteException("result set unknown or timed out");}
final Sequence seq = (Sequence) queryResult.result;
if (start < 1 || start > seq.getItemCount())
{throw new RuntimeException(