in server/src/jetbrains/buildServer/serverSide/priority/BuildQueuePriorityOrdering.java [79:94]
private void addNewItems(@NotNull final List<SQueuedBuild> itemsToAdd, @NotNull final List<SQueuedBuild> currentQueueItems) {
Set<String> buildIds = getIds(currentQueueItems);
for (SQueuedBuild item: itemsToAdd) {
if (buildIds.contains(item.getItemId())) {
myLogger.info("The current queue items alredy contain the build " + item + ", don't add it to the priority order");
continue;
}
int buildTypePriority = getCurrentBuildTypePriority(item);
double weight = myPriorityCoefficient * buildTypePriority;
int position = getNewItemPosition(weight, currentQueueItems);
currentQueueItems.add(position, item);
myItemWeights.put(item.getItemId(), weight);
myPrioritiesOnTheInsertMoment.put(item.getItemId(), buildTypePriority);
logItemAdded(currentQueueItems, item, position, weight);
}
}