@NotNull
  public static Location findOrCreateLocation(DebugProcessImpl debugProcess,
                                              @NotNull ClassesByNameProvider classesByName,
                                              @NotNull String className,
                                              @NotNull String methodName,
                                              int line) {
    ReferenceType classType = ContainerUtil.getFirstItem(classesByName.get(className));
    if (classType == null) {
      classType = new GeneratedReferenceType(debugProcess.getVirtualMachineProxy().getVirtualMachine(), className);
    }
    else if (line >= 0) {
      for (Method method : declaredMethodsByName(classType, methodName)) {
        List<Location> locations = locationsOfLine(method, line);
        if (!locations.isEmpty()) {
          return locations.get(0);
        }
      }
    }
    return new GeneratedLocation(classType, methodName, line);
  }
@NotNull
  public static Location findOrCreateLocation(DebugProcessImpl debugProcess,
                                              @NotNull ClassesByNameProvider classesByName,
                                              @NotNull String className,
                                              @NotNull String methodName,
                                              int line)