code: public static ConditionalMerger mergeIf(boolean condition, Supplier<Object[]> insnsSupplier) {
          Validate.notNull(insnsSupplier);
  
          ConditionalMerger merger = new ConditionalMerger();
          return merger.mergeIf(condition, insnsSupplier);
      }
docs: Combines multiple instructions (or instruction lists) in to a single instruction list if some condition is met.
  @param condition flag indicating if the instruction list should be generated
  @param insnsSupplier supplier that generates the instructions to merge (only generated if {@code condition == true})
  @throws NullPointerException if any argument is {@code null} or contains {@code null}
  @return merged instructions if {@code condition} is {@code true}, empty instructions list otherwise