By constructor Object3D(Object3D obj, boolean reuseMesh) is not copied shader too.
No, it's not. And it's actually not supposed to be. These constructors were actually meant to make a clone of the object, not of it's attributes. Is there a problem with setting the shader yourself after the creation of the object?
Ok, ok, I thought, that it is unwanted result ;)