I am trying to figure out the difference between the use of lambda and the ReferenceMethod, and I didn't figure out how to refer to non-static methods ? 

```
public class ReferenceMethod {

    public void main(String[] argv) {
        Thread t = new Thread(ReferenceMethod::printMessage); // CE
        Thread t2 = new Thread(() -> printMessage());
        t.start();
    }

    public void printMessage() {
        System.out.println("Hello");
    }
}

```