public void morph(Component source,Component destination,int duration,Runnable onCompletion){
  morph(source,destination,duration,false,onCompletion);
}

public void morph ( Component source , Component destination , int duration , Runnable onCompletion ) { morph ( source , destination , duration , false , onCompletion ) ; }
morph is similar to the replace functionality where a component might be replaced with a component that isn ' t within the container . however , unlike the replace functionality which uses a transition and assumes the position of the component ( and is hence quite flexible ) morph can move and resize the component . e . g . after entering text into a text field and pressing submit it can " morph " into a chat bubble located in a different part of the screen . < br > it is the responsibility of the caller to remove the source component ( if desired ) and revalidate the container when the animation completes .
