if ( DesignElement.EXTENDS_PROP.equals( propName ) )
if ( DesignElement.EXTENDS_PROP.equals( propName ) || IExtendedItemModel.EXTENSION_NAME_PROP .equals( propName ) )
	public void clearLocalProperties( ) throws SemanticException	{		ActivityStack stack = module.getActivityStack( );		stack.startTrans( );		try		{			Iterator iter = propertyIterator( );			while ( iter.hasNext( ) )			{				GroupPropertyHandle propHandle = (GroupPropertyHandle) iter						.next( );				String propName = propHandle.getPropertyDefn( ).getName( );				if ( DesignElement.EXTENDS_PROP.equals( propName ) )				{					// ignore extends property.					continue;				}				if ( DesignElement.NAME_PROP.equals( propName ) )				{					for ( Iterator elementIter = elements.iterator( ); elementIter							.hasNext( ); )					{						DesignElementHandle handle = (DesignElementHandle) elementIter								.next( );						NameCommand nameCmd = new NameCommand( module, handle								.getElement( ) );						try						{							nameCmd.checkName( null );						}						catch ( NameException e )						{							continue;						}						PropertyHandle tmpPropHandle = handle								.getPropertyHandle( propName );						if ( tmpPropHandle.isLocal( ) )							propHandle.clearValue( );					}				}				else				{					String localValue = propHandle.getLocalStringValue( );					if ( localValue != null )					{						propHandle.clearValue( );					}				}			}		}		catch ( SemanticException e )		{			stack.rollback( );			throw e;		}		stack.commit( );	}