I am mocking ObjectOutputStream void method .writeObject() but it is throwing null pointer exception. How do i mock the void functions using Mockito/PowerMockito.
Class
public class SomeClass {
    public void someMethod() {
        //something
        OtherClass Obj = new OtherClass();
        try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
             ObjectOutputStream oos = new ObjectOutputStream(bos)) {
             oos.writeObject(obj);
             // do something
        } catch (IOException e) {
            //do something
        }
        //something
    }
}
Test Class
@RunWith(PowerMockRunner.class)
@PrepareForTest({
    SomeClass.class
})
public class SomeClassTest {
    @Mock
    private ByteArrayOutputStream byteArrayOutputStreamMock;
    @Mock
    private ObjectOutputStream objectOutputStreamMock;
    @Test
    public void testSomething() {
        MockitoAnnotations.initMocks(this);
        PowerMockito.whenNew(ByteArrayOutputStream.class).withNoArguments().thenReturn(byteArrayOutputStreamMock);
        PowerMockito.whenNew(ObjectOutputStream.class).withArguments(byteArrayOutputStreamMock).thenReturn(objectOutputStreamMock);
        OtherClass otherClass = new OtherClass();
        Mockito.doNothing().when(objectOutputStreamMock).writeObject(otherClass); //This throw null pointer exception.
        // more code
    }
}
Stacktrace
java.lang.NullPointerException
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1108)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
 
    