in teamcity-invitations-plugin-server/src/main/java/org/jetbrains/teamcity/invitations/InvitationsStorage.java [106:121]
public Invitation getInvitation(@NotNull String token) {
synchronized (this) {
if (myInvitationByTokenCache == null) {
myInvitationByTokenCache = new HashMap<>();
teamCityCore.runAsSystem(() -> {
for (SProject project : teamCityCore.getActiveProjects()) {
for (SProjectFeatureDescriptor feature : project.getOwnFeaturesOfType(PROJECT_FEATURE_TYPE)) {
myInvitationByTokenCache.put(feature.getParameters().get(TOKEN_PARAM_NAME), fromProjectFeature(project, feature));
}
}
return null;
});
}
return myInvitationByTokenCache.get(token);
}
}