1   //a comment //indent:0 exp:0
2   package com.puppycrawl.tools.checkstyle.checks.indentation.indentation; //indent:0 exp:0
3   
4   import java.util.function.BinaryOperator; //indent:0 exp:0
5   import java.util.function.Consumer; //indent:0 exp:0
6   
7   
8   public class InputIndentationLambda2 { //indent:0 exp:0
9       public <T> Consumer<Integer> par(Consumer<Integer> f1, Consumer<Integer> f2) { //indent:4 exp:4
10          return f2; //indent:8 exp:8
11      } //indent:4 exp:4
12  
13      private void print(int i) { //indent:4 exp:4
14      } //indent:4 exp:4
15  
16      public Consumer<Integer> returnFunctionOfLambda() { //indent:4 exp:4
17          return par( //indent:8 exp:8
18                  (x) -> print(x * 1), //indent:16 exp:16
19                  (x) -> print(x * 2) //indent:16 exp:16
20          ); //indent:8 exp:8
21      } //indent:4 exp:4
22  
23      public static <T> BinaryOperator<T> returnLambda() { //indent:4 exp:4
24          return (t1, t2) -> { //indent:8 exp:8
25              return t1; //indent:12 exp:12
26          }; //indent:8 exp:8
27      } //indent:4 exp:4
28  
29      class TwoParams { //indent:4 exp:4
30          TwoParams(Consumer<Integer> c1, Consumer<Integer> c2) { //indent:8 exp:8
31          } //indent:8 exp:8
32      } //indent:4 exp:4
33  
34      public void makeTwoParams() { //indent:4 exp:4
35          TwoParams t0 = new TwoParams( //indent:8 exp:8
36                  (x) -> print(x * 1), //indent:16 exp:16
37                  (x) -> print(x * 2) //indent:16 exp:16
38          ); //indent:8 exp:8
39  
40          TwoParams t1 = new TwoParams( //indent:8 exp:8
41                  (x) -> print(x * 1), //indent:16 exp:16
42                  (x) -> print(x * 2)); //indent:16 exp:16
43      } //indent:4 exp:4
44  } //indent:0 exp:0