java3d -- modify BranchGroup...

My TransformGroup contains only a single BranchGroup, which contains only a single object loaded from a Scene like

ObjectFile f = new ObjectFile(flags, 0.0f);
try
{
   Scene s = f.load(fname);
}
catch....

m_BG = s.getSceneGroup();    // where m_BG is defined as a BranchGroup

What I would like to realize is:

I would like to modify both the shape and texture of this object and repaint it on the screen. However, I don’t want to reload the BranchGroup .
I believe Java3D must be able to do so. Can anybody please help to show me how to deal with it? Or, any related example code on the internet?

Cheers
JIA