@Override
  public Promise<Void> addDependency(@NotNull Module from, @NotNull Library library, @NotNull DependencyScope scope, boolean exported) {
    Promise<Void> promise = null;
    List<JavaProjectModelModifier> modifiers = getModelModifiers();
    for (int i = 0; i < modifiers.size() && promise == null; i++) {
      promise = modifiers.get(i).addLibraryDependency(from, library, scope, exported);
    }

    promise = promise == null ? Promises.rejectedPromise() : promise;
    return promise.onSuccess(v -> addJigsawModule(from, library, scope));
  }
@Override
  public Promise<Void> addDependency(@NotNull Module from, @NotNull Library library, @NotNull DependencyScope scope, boolean exported)