public boolean refreshStructureFromParent( )
public boolean refreshStructureFromParent( Module module )
	public boolean refreshStructureFromParent( )	{		DesignElement parent = getExtendsElement( );		if ( parent == null )			return false;				if( getDefn().getSlotCount() == 0 )			return true;		DesignElement cloned = null;		try		{			cloned = (DesignElement) parent.clone( );		}		catch ( CloneNotSupportedException e )		{			assert false;			return false;		}		// Parent element and the cloned one must have the same structures.		Iterator parentIter = new ContentIterator( parent );		Iterator childIter = new ContentIterator( cloned );		while ( childIter.hasNext( ) )		{			DesignElement virtualParent = (DesignElement) parentIter.next( );			DesignElement virtualChild = (DesignElement) childIter.next( );			// 1. clear all childrens' properties.			virtualChild.clearAllProperties( );			// 2. set base id reference.			// assert virtualParent.getID() > 0;			virtualChild.setBaseId( virtualParent.getID( ) );		}		// Copies top level slots from cloned element to the target element.		for ( int i = 0; i < parent.getDefn( ).getSlotCount( ); i++ )		{			ContainerSlot sourceSlot = cloned.getSlot( i );			ContainerSlot targetSlot = this.getSlot( i );			// clear the slot contents of the this element.			int count = targetSlot.getCount( );			while ( --count >= 0 )			{				targetSlot.remove( count );			}			for ( int j = 0; j < sourceSlot.getCount( ); j++ )			{				DesignElement content = sourceSlot.getContent( j );				// setup the containment relationship				targetSlot.add( content );				content.setContainer( this, i );			}		}		return true;	}