@Nullable
  static String generateCode(@NotNull OptionalToIfContext context, @NotNull List<Operation> operations) {
    List<OperationRecord> records = createRecords(operations);

    allOperations(records).forEach(r -> r.myOperation.preprocessVariables(r.myInVar, r.myOutVar, context));
    allOperations(records).map(r -> r.myOutVar).distinct().filter(v -> !v.isRegistered()).forEach(v -> v.register(context));

    return wrapCode(context, records, "");
  }
@Nullable
  static String generateCode(@NotNull OptionalToIfContext context, @NotNull List<Operation> operations)