diff --git a/org.eclipse.ajdt.ui/jdt-src/org/eclipse/ajdt/internal/ui/wizards/NewTypeWizardPage.java b/org.eclipse.ajdt.ui/jdt-src/org/eclipse/ajdt/internal/ui/wizards/NewTypeWizardPage.java
index 8ca69d8..df684f2 100644
--- a/org.eclipse.ajdt.ui/jdt-src/org/eclipse/ajdt/internal/ui/wizards/NewTypeWizardPage.java
+++ b/org.eclipse.ajdt.ui/jdt-src/org/eclipse/ajdt/internal/ui/wizards/NewTypeWizardPage.java
@@ -71,6 +71,7 @@
 import org.eclipse.jdt.internal.corext.dom.TokenScanner;
 import org.eclipse.jdt.internal.corext.refactoring.StubTypeContext;
 import org.eclipse.jdt.internal.corext.refactoring.TypeContextChecker;
+import org.eclipse.jdt.internal.corext.refactoring.util.JavaElementUtil;
 import org.eclipse.jdt.internal.corext.template.java.JavaContext;
 import org.eclipse.jdt.internal.corext.util.CodeFormatterUtil;
 import org.eclipse.jdt.internal.corext.util.JavaConventionsUtil;
@@ -229,7 +230,7 @@
 				
 		/* package */ void create(boolean needsSave, IProgressMonitor monitor) throws CoreException {
 			TextEdit edit= fImportsRewrite.rewriteImports(monitor);
-			JavaModelUtil.applyEdit(fImportsRewrite.getCompilationUnit(), edit, needsSave, null);
+			JavaElementUtil.applyEdit(fImportsRewrite.getCompilationUnit(), edit, needsSave, null);
 		}
 		
 		/* package */ void removeImport(String qualifiedName) {
diff --git a/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/ui/editor/actions/AJOrganizeImportsOperation.java b/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/ui/editor/actions/AJOrganizeImportsOperation.java
index a4e38bc..5a3c9cc 100644
--- a/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/ui/editor/actions/AJOrganizeImportsOperation.java
+++ b/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/ui/editor/actions/AJOrganizeImportsOperation.java
@@ -65,6 +65,7 @@
 import org.eclipse.jdt.internal.corext.util.Messages;
 import org.eclipse.jdt.internal.corext.util.Strings;
 import org.eclipse.jdt.internal.corext.util.TypeNameMatchCollector;
+import org.eclipse.jdt.internal.corext.refactoring.util.JavaElementUtil;
 import org.eclipse.jdt.internal.ui.text.correction.ASTResolving;
 import org.eclipse.jdt.internal.ui.text.correction.SimilarElementsRequestor;
 import org.eclipse.jdt.ui.SharedASTProvider;
@@ -496,7 +497,7 @@
 			}
 			
 			TextEdit edit= importsRewrite.rewriteImports(new SubProgressMonitor(monitor, 3));
-			JavaModelUtil.applyEdit(fCompilationUnit, edit, fDoSave, new SubProgressMonitor(monitor, 1));
+			JavaElementUtil.applyEdit(fCompilationUnit, edit, fDoSave, new SubProgressMonitor(monitor, 1));
 						
 			determineImportDifferences(importsRewrite, oldSingleImports, oldDemandImports);
 			processor= null;
diff --git a/org.eclipse.equinox.weaving.aspectj/META-INF/MANIFEST.MF b/org.eclipse.equinox.weaving.aspectj/META-INF/MANIFEST.MF
index 93316a8..1885ada 100644
--- a/org.eclipse.equinox.weaving.aspectj/META-INF/MANIFEST.MF
+++ b/org.eclipse.equinox.weaving.aspectj/META-INF/MANIFEST.MF
@@ -16,6 +16,6 @@
  org.osgi.framework;version="[1.6, 2.0)",
  org.osgi.framework.namespace;version="1.1.0",
  org.osgi.framework.wiring;version="1.1.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Export-Package: org.eclipse.equinox.weaving.aspectj;x-friends:="org.eclipse.equinox.weaving.tests",
  org.eclipse.equinox.weaving.aspectj.loadtime;x-friends:="org.eclipse.equinox.weaving.tests"
diff --git a/pom.xml b/pom.xml
index ac85677..2377f28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,7 +90,7 @@
 			<id>e47</id>
 			<properties>
 				<platform.version>e47</platform.version>
-				<weaving.hook.version>1.1.200.v20150730-1648</weaving.hook.version>
+				<weaving.hook.version>1.2.0.v20160929-1449</weaving.hook.version>
 			</properties>
 			<repositories>
 				<repository>
