title: How to retrieve arguments of a lambda expression?
body: <p>How can I reparse java.util.function.Consumer instance and retrieve arguments and values of its lambda expression  (forexample &quot;student.person.surname&quot;). Shortly I want to retrieve lambda expression (Consumer) as a text at runtime.</p>
  <pre><code>import lombok.Data;
  
  import java.util.function.Consumer;
  
  public class ConsumerTest {
  
      @Data
      public static class Person{
          private Integer id;
          private String name;
          private String surName;
      }
  
      @Data
      public static class Student{
          private Integer id;
          private Person person;
      }
  
      public static void main(String args[])
      {
          Student student = new Student();
          student.setId(1);
          Person person = new Person();
          person.setName(&quot;Ali&quot;);
          person.setSurName(&quot;Veli&quot;);
          person.setId(2);
          student.setPerson(person);
  
          Consumer&lt;Student&gt; displayLambda = s -&gt; s.getPerson().setSurName(&quot;Gulsoy&quot;);
  
          displayLambda.accept(student);
  
      //I want to reparse displaylambda instance and print arguments. 
      //As here I must be able to retrieve &quot;student.person.surname&quot; and &quot;Gulsoy&quot;
      }
  
  }
  </code></pre>