@Nullable
 public static AbstractExternalSystemTaskConfigurationType findConfigurationType(
     @NotNull ProjectSystemId externalSystemId) {
   for (ConfigurationType type :
       Extensions.getExtensions(ConfigurationType.CONFIGURATION_TYPE_EP)) {
     if (type instanceof AbstractExternalSystemTaskConfigurationType) {
       AbstractExternalSystemTaskConfigurationType candidate =
           (AbstractExternalSystemTaskConfigurationType) type;
       if (externalSystemId.equals(candidate.getExternalSystemId())) {
         return candidate;
       }
     }
   }
   return null;
 }
 private static long getTimeStamp(
     @NotNull ExternalProjectSettings externalProjectSettings,
     @NotNull ProjectSystemId externalSystemId) {
   long timeStamp = 0;
   for (ExternalSystemConfigLocator locator :
       ExternalSystemConfigLocator.EP_NAME.getExtensions()) {
     if (!externalSystemId.equals(locator.getTargetExternalSystemId())) {
       continue;
     }
     for (VirtualFile virtualFile : locator.findAll(externalProjectSettings)) {
       timeStamp += virtualFile.getTimeStamp();
     }
   }
   return timeStamp;
 }