diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/rest/RefactoringService.java b/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/rest/RefactoringService.java index 3882eea6dd4..298125b588c 100644 --- a/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/rest/RefactoringService.java +++ b/plugins/plugin-java/che-plugin-java-ext-lang-server/src/main/java/org/eclipse/che/plugin/java/server/rest/RefactoringService.java @@ -36,6 +36,7 @@ import org.eclipse.jdt.core.ICompilationUnit; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IJavaProject; +import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jdt.internal.core.JavaModel; import org.eclipse.jdt.internal.core.JavaModelManager; @@ -89,7 +90,14 @@ public String createMoveRefactoring(CreateMoveRefactoring cmr) throws JavaModelE if (javaElement.isPack()) { return javaProject.findPackageFragment(new org.eclipse.core.runtime.Path(javaElement.getPath())); } else { - return javaProject.findType(javaElement.getPath()).getCompilationUnit(); + + IType type = javaProject.findType(javaElement.getPath()); + + //in some cases client may send FQN that doesn't exist + if (type == null) { + throw new IllegalArgumentException("Can't find type: " + javaElement.getPath()); + } + return type.getCompilationUnit(); } } catch (JavaModelException e) {