private static boolean usesSpringLoaded(@NotNull final DebugProcess process) {
    Boolean force = process.getProcessHandler().getUserData(FORCE_SPRINGLOADED);
    if (force == Boolean.TRUE) return true;

    if (ReadAction.compute(()->{
      JavaPsiFacade facade = JavaPsiFacade.getInstance(process.getProject());
      if (facade.findPackage("com.springsource.loaded") != null ||
          facade.findPackage("org.springsource.loaded") != null) {
        return true;
      }
      return false;
    })) {
      return true;
    }

    // Check spring loaded for remote process
    VirtualMachineProxy proxy = process.getVirtualMachineProxy();
    return !proxy.classesByName("com.springsource.loaded.agent.SpringLoadedAgent").isEmpty() ||
           !proxy.classesByName("org.springsource.loaded.agent.SpringLoadedAgent").isEmpty();
  }
private static boolean usesSpringLoaded(@NotNull final DebugProcess process)