private List<RevisionInfo> createRevisionInfos(List<CDOID> ids, CDOBranchPoint branchPoint, int prefetchDepth, boolean loadOnDemand, RevisionInfo[] infos) { List<RevisionInfo> infosToLoad = null; Iterator<CDOID> idIterator = ids.iterator(); for (int i = 0; i < infos.length; i++) { CDOID id = idIterator.next(); RevisionInfo info = createRevisionInfo(id, branchPoint); infos[i] = info; if (loadOnDemand && (prefetchDepth != CDORevision.DEPTH_NONE || info.isLoadNeeded())) { if (infosToLoad == null) { infosToLoad = new ArrayList<RevisionInfo>(1); } infosToLoad.add(info); } } return infosToLoad; }