DetailedLogData (final @NotNull VirtualFile root, @NotNull Requirements requirements) { LOG.debug("readFirstBlock began"); if (requirements instanceof VcsLogProviderRequirementsEx && ((VcsLogProviderRequirementsEx)requirements).isRefresh()) { try { myRefreshSemaphore.acquire(); } catch (InterruptedException e) { throw new RuntimeException(e); } } int readFirstBlockCounter = myReadFirstBlockCounter.incrementAndGet(); LOG.debug("readFirstBlock passed the semaphore: " + readFirstBlockCounter); List<VcsCommitMetadata> metadatas = ContainerUtil.map(myCommits.subList(0, requirements.getCommitCount()), commit -> createDefaultMetadataForCommit(root, commit)); return new LogDataImpl(Collections.emptySet(), metadatas); }