Suppose we have the following class

```
class Class1 {

    public void Method1() {
        synchronized(myobject) {
            /* some code */
        }
    }
}

```

where myobject is the instance of the class

```
class myClass {

     public void Method2() {
        synchronized(someOtherObj) {
            /* some code */
        }
     }

     public synchronized void Method3() {
        /* some code without synchronized blocks */
     }

     public void Method4() {
        /* some code without synchronized blocks */
     }
}

```

Help me please to understand which code blocks of myobject are made available only for the tread called the method Method1.