List<ClassPrepareRequest> (@NotNull final ClassPrepareRequestor requestor, @NotNull final SourcePosition position) { return iterate(positionManager -> { if (positionManager instanceof MultiRequestPositionManager) { return ((MultiRequestPositionManager)positionManager).createPrepareRequests(requestor, position); } else { ClassPrepareRequest prepareRequest = positionManager.createPrepareRequest(requestor, position); if (prepareRequest == null) { return Collections.emptyList(); } return Collections.singletonList(prepareRequest); } }, Collections.emptyList(), position); }