diff --git a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/model/value/PropertyAspectAdapterXXXX.java b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/model/value/PropertyAspectAdapterXXXX.java
index e50a387..53761bc 100644
--- a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/model/value/PropertyAspectAdapterXXXX.java
+++ b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/model/value/PropertyAspectAdapterXXXX.java
@@ -60,7 +60,7 @@
 
 	// ********** initialization **********
 
-	protected PropertyChangeListener buildAspectChangeListener() {
+	protected final PropertyChangeListener buildAspectChangeListener() {
 		return new AspectChangeListener();
 	}
 
@@ -81,20 +81,20 @@
 	// ********** AspectAdapter implementation **********
 
     @Override
-	protected void engageSubject_() {
+	protected final void engageSubject_() {
     	for (String propertyName : this.aspectNames) {
 			this.subject.addPropertyChangeListener(propertyName, this.aspectChangeListener);
 		}
 	}
 
     @Override
-	protected void disengageSubject_() {
+	protected final void disengageSubject_() {
     	for (String propertyName : this.aspectNames) {
 			this.subject.removePropertyChangeListener(propertyName, this.aspectChangeListener);
 		}
 	}
 
-	protected void aspectChanged(@SuppressWarnings("unused") PropertyChangeEvent event) {
+	protected final void aspectChanged(@SuppressWarnings("unused") PropertyChangeEvent event) {
  		//TODO we have multiple PropertyAspectAdapters that depend on the aspectChanged()
     	//behavior because they do a transformation in the buildValue(). It would be
     	//nice to use the new value from the event instead of rebuilding it.
