Index: src/java/org/apache/jackrabbit/rmi/server/ServerQueryResult.java =================================================================== --- src/java/org/apache/jackrabbit/rmi/server/ServerQueryResult.java (revision 292991) +++ src/java/org/apache/jackrabbit/rmi/server/ServerQueryResult.java (working copy) @@ -17,6 +17,7 @@ package org.apache.jackrabbit.rmi.server; import java.rmi.RemoteException; +import java.util.ArrayList; import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; @@ -66,11 +67,11 @@ public RemoteRow[] getRows() throws RepositoryException, RemoteException { RowIterator iterator = result.getRows(); if (iterator != null) { - RemoteRow[] remotes = new RemoteRow[(int) iterator.getSize()]; + ArrayList remotes = new ArrayList() ; for (int i = 0; iterator.hasNext(); i++) { - remotes[i] = getFactory().getRemoteRow(iterator.nextRow()); + remotes.add(getFactory().getRemoteRow(iterator.nextRow())); } - return remotes; + return (RemoteRow[]) remotes.toArray(new RemoteRow[remotes.size()]); } else { return new RemoteRow[0]; // for safety } @@ -80,11 +81,11 @@ public RemoteNode[] getNodes() throws RepositoryException, RemoteException { NodeIterator iterator = result.getNodes(); if (iterator != null) { - RemoteNode[] remotes = new RemoteNode[(int) iterator.getSize()]; + ArrayList remotes = new ArrayList() ; for (int i = 0; iterator.hasNext(); i++) { - remotes[i] = getRemoteNode(iterator.nextNode()); + remotes.add(getRemoteNode(iterator.nextNode())); } - return remotes; + return (RemoteNode[]) remotes.toArray(new RemoteNode[remotes.size()]); } else { return new RemoteNode[0]; // for safety }