hunk.code_window:         // 3. Instantiate the implementation class based on the query type
           Mono<Datasource> datasourceMono = actionDTOMono
                   .flatMap(action -> {
                       // Global datasource requires us to fetch the datasource from DB.
                       if (action.getDatasource() != null && action.getDatasource().getId() != null) {
                           return datasourceService.findById(action.getDatasource().getId(), EXECUTE_DATASOURCES)
                                   .switchIfEmpty(Mono.error(new AppsmithException(AppsmithError.NO_RESOURCE_FOUND,
                                           FieldName.DATASOURCE,
                                           action.getDatasource().getId())));
                       }
                       // This is a nested datasource. Return as is.
                       return Mono.justOrEmpty(action.getDatasource());
                   })
                   .cache();
           Mono<Plugin> pluginMono = datasourceMono
                   .flatMap(datasource -> {
  
hunk.labels: keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep
hunk.after_edit:                 .flatMap(actionDTO -> datasourceService.getValidDatasourceFromActionMono(actionDTO, EXECUTE_DATASOURCES))
  
hunk.file_path: app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/NewActionServiceCEImpl.java
hunk.type: replace
file: package com.appsmith.external.helpers;
  
  import lombok.Getter;
  import lombok.Setter;
  
  @Getter
  @Setter
  public class AppsmithEventContext {
      private final AppsmithEventContextType appsmithEventContextType;
      private final Object[] args;
  
      public AppsmithEventContext(AppsmithEventContextType appsmithEventContextType, Object... args) {
          this.appsmithEventContextType = appsmithEventContextType;
          this.args = args;
      }
  }
  