Merge conditions of if/else if/else that have the same blocks
2 Purposes:
- Run the cleanup as test
- Clean the code

Change-Id: Ib46067eb21a572cba882f05c18db61d87ae84dd5
Signed-off-by: Fabrice Tiercelin <fabrice.tiercelin@yahoo.fr>
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/RefactoringAvailabilityTester.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/RefactoringAvailabilityTester.java
index d6a9321..4c5e7c3 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/RefactoringAvailabilityTester.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/RefactoringAvailabilityTester.java
@@ -529,12 +529,9 @@
 			return ((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE;
 		} else if (element instanceof IPackageFragment) {
 			return ((IPackageFragment) element).getKind() == IPackageFragmentRoot.K_SOURCE;
-		} else if (element instanceof ICompilationUnit) {
-			return true;
-		} else if (element.getAncestor(IJavaElement.COMPILATION_UNIT) != null) {
-			return true;
 		} else {
-			return false;
+			return (element instanceof ICompilationUnit)
+					|| (element.getAncestor(IJavaElement.COMPILATION_UNIT) != null);
 		}
 	}
 
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/TypeContextChecker.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/TypeContextChecker.java
index 624b9ca..6e50990 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/TypeContextChecker.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/TypeContextChecker.java
@@ -78,20 +78,19 @@
 import org.eclipse.jdt.core.search.SearchPattern;
 import org.eclipse.jdt.core.search.TypeNameMatch;
 
+import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 import org.eclipse.jdt.internal.corext.dom.ASTFlattener;
 import org.eclipse.jdt.internal.corext.dom.ASTNodes;
 import org.eclipse.jdt.internal.corext.dom.HierarchicalASTVisitor;
+import org.eclipse.jdt.internal.corext.dom.IASTSharedValues;
+import org.eclipse.jdt.internal.corext.dom.Selection;
+import org.eclipse.jdt.internal.corext.dom.SelectionAnalyzer;
 import org.eclipse.jdt.internal.corext.refactoring.util.RefactoringASTParser;
 import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
 import org.eclipse.jdt.internal.corext.util.Messages;
 
 import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.corext.dom.IASTSharedValues;
-import org.eclipse.jdt.internal.corext.dom.Selection;
-import org.eclipse.jdt.internal.corext.dom.SelectionAnalyzer;
-
 import org.eclipse.jdt.internal.ui.refactoring.contentassist.JavaTypeCompletionProcessor;
-import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 
 public class TypeContextChecker {
 	private static class MethodTypesChecker {
@@ -464,12 +463,15 @@
 	}
 
 	private static ITypeBinding handleBug84585(ITypeBinding typeBinding) {
-		if (typeBinding == null)
+		if (typeBinding != null
+				&& typeBinding.isGenericType()
+				&& ! typeBinding.isRawType()
+				&& ! typeBinding.isParameterizedType() //see bug 84585
+				) {
 			return null;
-		else if (typeBinding.isGenericType() && ! typeBinding.isRawType() && ! typeBinding.isParameterizedType())
-			return null; //see bug 84585
-		else
+		} else {
 			return typeBinding;
+		}
 	}
 
 	public static RefactoringStatus[] checkAndResolveMethodTypes(IMethod method, StubTypeContext stubTypeContext, List<ParameterInfo> parameterInfos, ReturnTypeInfo returnTypeInfo) throws CoreException {
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceFactoryRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceFactoryRefactoring.java
index 81e0cfd..d12d353 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceFactoryRefactoring.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceFactoryRefactoring.java
@@ -297,9 +297,8 @@
 		// we have some sub node. Make sure its the right child of the parent
 		StructuralPropertyDescriptor location= node.getLocationInParent();
 		ASTNode parent= node.getParent();
-		if (location == ClassInstanceCreation.TYPE_PROPERTY) {
-			return parent;
-		} else if (location == MethodDeclaration.NAME_PROPERTY && ((MethodDeclaration)parent).isConstructor()) {
+		if ((location == ClassInstanceCreation.TYPE_PROPERTY)
+				|| (location == MethodDeclaration.NAME_PROPERTY && ((MethodDeclaration)parent).isConstructor())) {
 			return parent;
 		}
 		return null;
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceIndirectionRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceIndirectionRefactoring.java
index 7340238..6d1dd1a 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceIndirectionRefactoring.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/IntroduceIndirectionRefactoring.java
@@ -1174,9 +1174,8 @@
 
 	private ASTNode getEnclosingTypeDeclaration(ASTNode node) {
 		while (node != null) {
-			if (node instanceof AbstractTypeDeclaration) {
-				return node;
-			} else if (node instanceof AnonymousClassDeclaration) {
+			if (node instanceof AbstractTypeDeclaration
+					|| node instanceof AnonymousClassDeclaration) {
 				return node;
 			}
 			node= node.getParent();
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/InferTypeArgumentsRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/InferTypeArgumentsRefactoring.java
index 9637091..5fd0c11 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/InferTypeArgumentsRefactoring.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/InferTypeArgumentsRefactoring.java
@@ -477,14 +477,9 @@
 		while (parent instanceof Type)
 			parent= parent.getParent();
 
-		if (parent instanceof ClassInstanceCreation) {
-			return false;
-		} else if (parent instanceof AbstractTypeDeclaration) {
-			return false;
-		} else if (parent instanceof TypeLiteral) {
-			return false;
-		}
-		return true;
+		return !(parent instanceof ClassInstanceCreation)
+				&& !(parent instanceof AbstractTypeDeclaration)
+				&& !(parent instanceof TypeLiteral);
 	}
 
 	private static ASTNode rewriteCastVariable(CastVariable2 castCv, CompilationUnitRewrite rewrite, InferTypeArgumentsTCModel tCModel) {//, List positionGroups) {
@@ -494,11 +489,9 @@
 		ConstraintVariable2 methodReceiverCv= tCModel.getMethodReceiverCv(expressionVariable);
 		if (methodReceiverCv != null) {
 			TType chosenReceiverType= InferTypeArgumentsConstraintsSolver.getChosenType(methodReceiverCv);
-			if (chosenReceiverType == null)
-				return null;
-			else if (! InferTypeArgumentsTCModel.isAGenericType(chosenReceiverType))
-				return null;
-			else if (hasUnboundElement(methodReceiverCv, tCModel))
+			if ((chosenReceiverType == null)
+					|| ! InferTypeArgumentsTCModel.isAGenericType(chosenReceiverType)
+					|| hasUnboundElement(methodReceiverCv, tCModel))
 				return null;
 		}
 
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/ParametricStructureComputer.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/ParametricStructureComputer.java
index 75c36ee..0e56421 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/ParametricStructureComputer.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/generics/ParametricStructureComputer.java
@@ -368,9 +368,8 @@
 			return false;
 
 		for (ParametricStructure parameter : containingStructure.getParameters()) {
-			if (parameter == subStructure)
-				return true;
-			else if (containsSubStructure(parameter, subStructure))
+			if (parameter == subStructure
+					|| containsSubStructure(parameter, subStructure))
 				return true;
 		}
 		return false;
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/AccessorClassModifier.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/AccessorClassModifier.java
index b63119f..ef9def2 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/AccessorClassModifier.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/AccessorClassModifier.java
@@ -306,9 +306,8 @@
 					String afterKey= identifiers.get(insertionPosition + 1);
 					int distBefore= NLSUtil.invertDistance(key, beforeKey);
 					int distAfter= NLSUtil.invertDistance(key, afterKey);
-					if (distBefore > distAfter) {
-						fListRewrite.insertAfter(fieldDeclaration, fFields.get(insertionPosition), editGroup);
-					} else if (distBefore == distAfter && Collator.getInstance().compare(beforeKey, afterKey) < 0) {
+					if ((distBefore > distAfter)
+							|| (distBefore == distAfter && Collator.getInstance().compare(beforeKey, afterKey) < 0)) {
 						fListRewrite.insertAfter(fieldDeclaration, fFields.get(insertionPosition), editGroup);
 					} else {
 						fListRewrite.insertBefore(fieldDeclaration, fFields.get(insertionPosition + 1), editGroup);
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSPropertyFileModifier.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSPropertyFileModifier.java
index f7ba5cf..f8318b7 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSPropertyFileModifier.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSPropertyFileModifier.java
@@ -231,14 +231,8 @@
 		if (oldKeyToSubstMap.get(substitution.getInitialKey()) != substitution) {
 			return false; // not the owner of this key
 		}
-		if (substitution.hasStateChanged()) {
-			return true; // was externalized, but not anymore
-		} else {
-			if (substitution.hasPropertyFileChange() && newKeyToSubstMap.get(substitution.getKey()) != substitution) {
-				return true; // has been changed to an already existing
-			}
-		}
-		return false;
+		return substitution.hasStateChanged() // was externalized, but not anymore
+				|| (substitution.hasPropertyFileChange() && newKeyToSubstMap.get(substitution.getKey()) != substitution); // has been changed to an already existing;
 	}
 
 	private static void addRemoveEdits(TextChange textChange, NLSSubstitution[] substitutions, Map<String, NLSSubstitution> newKeyToSubstMap, Map<String, NLSSubstitution> oldKeyToSubstMap, PropertyFileDocumentModel model) {
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSubstitution.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSubstitution.java
index e8d7488..ded1ff2 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSubstitution.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSSubstitution.java
@@ -188,10 +188,10 @@
 			return true;
 		}
 		if (fState == EXTERNALIZED) {
-			if (fInitialValue == null) {
-				return true; // recreate entry in property file
-			} else if (!fInitialValue.equals(fValue)) {
-				return true; // change of value
+			if ((fInitialValue == null) // recreate entry in property file
+					|| !fInitialValue.equals(fValue) // change of value
+					) {
+				return true;
 			}
 			if (!fInitialKey.equals(fKey)) {
 				return true; // change of key
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/PropertyFileDocumentModel.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/PropertyFileDocumentModel.java
index d2730ee..27b649d 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/PropertyFileDocumentModel.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/PropertyFileDocumentModel.java
@@ -86,9 +86,8 @@
 			String key= keyValuePair.fKey;
 			int distBefore= NLSUtil.invertDistance(key, beforeKey);
 			int distAfter= NLSUtil.invertDistance(key, afterKey);
-			if (distBefore > distAfter) {
-				offset-= insertHere.fLeadingWhiteSpaces;
-			} else if (distBefore == distAfter && Collator.getInstance().compare(beforeKey, afterKey) < 0) {
+			if ((distBefore > distAfter)
+					|| (distBefore == distAfter && Collator.getInstance().compare(beforeKey, afterKey) < 0)) {
 				offset-= insertHere.fLeadingWhiteSpaces;
 			} else {
 				//insert it before afterKey -> move the leading white spaces to the inserted pair
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenameMethodProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenameMethodProcessor.java
index 09c96fa..cb48c23 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenameMethodProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenameMethodProcessor.java
@@ -696,9 +696,9 @@
 				IMethod foundMethod= Checks.findMethod(newName, parameterCount, false, new IMethod[]{m});
 				if (foundMethod == null)
 					continue;
-				if (isSubclass || type.equals(clazz)) {
-					result.add(foundMethod);
-				} else if ((! isMethodPrivate) && (!JdtFlags.isPrivate(m))) {
+				if (isSubclass
+						|| type.equals(clazz)
+						|| (! isMethodPrivate && !JdtFlags.isPrivate(m))) {
 					result.add(foundMethod);
 				}
 			}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenamePackageProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenamePackageProcessor.java
index 09fb576..d7f264e 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenamePackageProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/rename/RenamePackageProcessor.java
@@ -73,6 +73,8 @@
 import org.eclipse.jdt.core.search.SearchPattern;
 import org.eclipse.jdt.core.search.SearchRequestor;
 
+import org.eclipse.jdt.internal.core.manipulation.StubUtility;
+import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 import org.eclipse.jdt.internal.core.refactoring.descriptors.RefactoringSignatureDescriptorFactory;
 import org.eclipse.jdt.internal.corext.refactoring.Checks;
 import org.eclipse.jdt.internal.corext.refactoring.CollectingSearchRequestor;
@@ -111,9 +113,6 @@
 
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 
-import org.eclipse.jdt.internal.core.manipulation.StubUtility;
-import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
-
 public class RenamePackageProcessor extends JavaRenameProcessor implements
 		IReferenceUpdating, ITextUpdating, IQualifiedNameUpdating, IResourceMapper, IJavaElementMapper {
 
@@ -485,9 +484,7 @@
 		IPackageFragment pack= root.getPackageFragment(newName);
 		if (! pack.exists())
 			return true;
-		else if (pack.containsJavaResources())
-			return false;
-		else if (pack.getNonJavaResources().length != 0)
+		else if (pack.containsJavaResources() || pack.getNonJavaResources().length != 0)
 			return false;
 		else
 			return true;
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/SourceReferenceUtil.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/SourceReferenceUtil.java
index 8e218db..d067424 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/SourceReferenceUtil.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/reorg/SourceReferenceUtil.java
@@ -65,11 +65,9 @@
 		Set<ISourceReference> set= new HashSet<>(Arrays.asList(elems));
 		List<ISourceReference> result= new ArrayList<>(elems.length);
 		for (ISourceReference elem : elems) {
-			if (! (elem instanceof IJavaElement))
+			if (! (elem instanceof IJavaElement)
+					|| ! hasParentInSet(((IJavaElement)elem), set)) {
 				result.add(elem);
-			else{
-				if (! hasParentInSet(((IJavaElement)elem), set))
-					result.add(elem);
 			}
 		}
 		return result.toArray(new ISourceReference[result.size()]);
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureProcessor.java
index 5a77bac..220d372 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureProcessor.java
@@ -991,14 +991,9 @@
 	}
 
 	private boolean mustAnalyzeAstOfDeclaringCu() throws JavaModelException{
-		if (JdtFlags.isAbstract(getMethod()))
-			return false;
-		else if (JdtFlags.isNative(getMethod()))
-			return false;
-		else if (getMethod().getDeclaringType().isInterface())
-			return false;
-		else
-			return true;
+		return !JdtFlags.isAbstract(getMethod())
+				&& !JdtFlags.isNative(getMethod())
+				&& !getMethod().getDeclaringType().isInterface();
 	}
 
 	private RefactoringStatus checkCompilationofDeclaringCu() throws CoreException {
@@ -2439,9 +2434,8 @@
 							final ITypeBinding nameBinding= name.resolveTypeBinding();
 							if (nameBinding != null) {
 								final ITypeBinding infoBinding= info.getTypeBinding();
-								if (infoBinding != null && Bindings.equals(infoBinding, nameBinding))
-									remove= true;
-								else if (info.getElement().getElementName().equals(nameBinding.getName()))
+								if ((infoBinding != null && Bindings.equals(infoBinding, nameBinding))
+										|| info.getElement().getElementName().equals(nameBinding.getName()))
 									remove= true;
 								if (remove) {
 									getASTRewrite().remove(tag, fDescription);
@@ -2473,10 +2467,10 @@
 							if (nameBinding != null) {
 								boolean process= false;
 								final ITypeBinding infoBinding= info.getTypeBinding();
-								if (infoBinding != null && Bindings.equals(infoBinding, nameBinding))
+								if ((infoBinding != null && Bindings.equals(infoBinding, nameBinding))
+										|| info.getElement().getElementName().equals(nameBinding.getName())) {
 									process= true;
-								else if (info.getElement().getElementName().equals(nameBinding.getName()))
-									process= true;
+								}
 								if (process) {
 									tagIter.remove();
 									TagElement movedTag= (TagElement) getASTRewrite().createMoveTarget(tag);
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeTypeRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeTypeRefactoring.java
index 163a0f7..4250c15 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeTypeRefactoring.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeTypeRefactoring.java
@@ -570,9 +570,10 @@
 			if ((decl instanceof SimpleName || decl instanceof QualifiedName) && cv instanceof ExpressionVariable) {
 				ASTNode gp= decl.getParent().getParent();
 				updateType(unit, getType(gp), unitChange, unitRewriter, typeName, remover);   // local variable or parameter
-			} else if (decl instanceof MethodDeclaration || decl instanceof FieldDeclaration) {
-				updateType(unit, getType(decl), unitChange, unitRewriter, typeName, remover); // method return or field type
-			} else if (decl instanceof ParameterizedType){
+			} else if (decl instanceof MethodDeclaration
+					|| decl instanceof FieldDeclaration
+					|| decl instanceof ParameterizedType // method return or field type
+					) {
 				updateType(unit, getType(decl), unitChange, unitRewriter, typeName, remover);
 			}
 		}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractClassRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractClassRefactoring.java
index c1600ea..1597684 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractClassRefactoring.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ExtractClassRefactoring.java
@@ -77,8 +77,8 @@
 import org.eclipse.jdt.core.dom.VariableDeclaration;
 import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
 import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
-import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
 import org.eclipse.jdt.core.dom.rewrite.ImportRewrite.TypeLocation;
+import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
 import org.eclipse.jdt.core.refactoring.descriptors.ExtractClassDescriptor;
 import org.eclipse.jdt.core.refactoring.descriptors.ExtractClassDescriptor.Field;
 import org.eclipse.jdt.core.refactoring.descriptors.JavaRefactoringDescriptor;
@@ -86,6 +86,9 @@
 import org.eclipse.jdt.core.search.SearchMatch;
 import org.eclipse.jdt.core.search.SearchPattern;
 
+import org.eclipse.jdt.internal.core.manipulation.StubUtility;
+import org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving;
+import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
 import org.eclipse.jdt.internal.corext.codemanipulation.ContextSensitiveImportRewriteContext;
 import org.eclipse.jdt.internal.corext.codemanipulation.GetterSetterUtil;
 import org.eclipse.jdt.internal.corext.dom.ASTNodes;
@@ -106,10 +109,6 @@
 
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 
-import org.eclipse.jdt.internal.core.manipulation.StubUtility;
-import org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving;
-import org.eclipse.jdt.internal.core.manipulation.util.BasicElementLabels;
-
 public class ExtractClassRefactoring extends Refactoring {
 
 	public static class ExtractClassDescriptorVerification {
@@ -724,9 +723,8 @@
 			if (isCreateField(pi)) {
 				VariableDeclarationFragment vdf= pi.declaration;
 				FieldDeclaration parent= (FieldDeclaration) vdf.getParent();
-				if (lastField == null)
-					lastField= parent;
-				else if (lastField.getStartPosition() < parent.getStartPosition())
+				if ((lastField == null)
+						|| (lastField.getStartPosition() < parent.getStartPosition()))
 					lastField= parent;
 
 				ListRewrite listRewrite= rewrite.getListRewrite(parent, FieldDeclaration.FRAGMENTS_PROPERTY);
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java
index 3095e10..94b6384 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/HierarchyProcessor.java
@@ -81,6 +81,8 @@
 import org.eclipse.jdt.core.search.SearchMatch;
 import org.eclipse.jdt.core.search.SearchPattern;
 
+import org.eclipse.jdt.internal.core.manipulation.StubUtility;
+import org.eclipse.jdt.internal.core.manipulation.util.Strings;
 import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
 import org.eclipse.jdt.internal.corext.dom.ASTNodeFactory;
 import org.eclipse.jdt.internal.corext.dom.ASTNodes;
@@ -101,8 +103,6 @@
 import org.eclipse.jdt.internal.corext.util.JdtFlags;
 import org.eclipse.jdt.internal.corext.util.Messages;
 import org.eclipse.jdt.internal.corext.util.SearchUtils;
-import org.eclipse.jdt.internal.core.manipulation.StubUtility;
-import org.eclipse.jdt.internal.core.manipulation.util.Strings;
 
 import org.eclipse.jdt.ui.JavaElementLabels;
 
@@ -270,11 +270,9 @@
 	}
 
 	protected static String createLabel(final IMember member) {
-		if (member instanceof IType)
-			return JavaElementLabels.getTextLabel(member, JavaElementLabels.ALL_FULLY_QUALIFIED);
-		else if (member instanceof IMethod)
-			return JavaElementLabels.getTextLabel(member, JavaElementLabels.ALL_FULLY_QUALIFIED);
-		else if (member instanceof IField)
+		if ((member instanceof IType)
+				|| (member instanceof IMethod)
+				|| (member instanceof IField))
 			return JavaElementLabels.getTextLabel(member, JavaElementLabels.ALL_FULLY_QUALIFIED);
 		else if (member instanceof IInitializer)
 			return RefactoringCoreMessages.HierarchyRefactoring_initializer;
diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/MoveInnerToTopWizard.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/MoveInnerToTopWizard.java
index a2b8275..8b1b198 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/MoveInnerToTopWizard.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/MoveInnerToTopWizard.java
@@ -168,9 +168,7 @@
 		protected RefactoringStatus validateTextField(String text) {
 			final MoveInnerToTopRefactoring refactoring= getMoveRefactoring();
 			refactoring.setEnclosingInstanceName(text);
-			if (refactoring.isCreatingInstanceFieldMandatory())
-				return refactoring.checkEnclosingInstanceName(text);
-			else if (!text.isEmpty())
+			if (refactoring.isCreatingInstanceFieldMandatory() || !text.isEmpty())
 				return refactoring.checkEnclosingInstanceName(text);
 			else
 				return new RefactoringStatus();
diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/ReferencesInBinaryStatusContextViewer.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/ReferencesInBinaryStatusContextViewer.java
index 7ecf019..a113cb9 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/ReferencesInBinaryStatusContextViewer.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/ReferencesInBinaryStatusContextViewer.java
@@ -98,9 +98,7 @@
 		public void add(Object element) {
 			Object parent= getParent(element);
 			while (parent != null) {
-				if (parent instanceof IJavaModel) {
-					fRoots.add(element);
-				} else if (parent instanceof IWorkspaceRoot) {
+				if ((parent instanceof IJavaModel) || (parent instanceof IWorkspaceRoot)) {
 					fRoots.add(element);
 				} else {
 					Object oldChildren= fChildren.get(parent);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyContentProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyContentProvider.java
index bb5caa9..2d3c7e0 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyContentProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyContentProvider.java
@@ -178,9 +178,8 @@
 					boolean withConstructors= false;
 					if (type != null) {
 						boolean anonymousPref= PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.PREF_ANONYMOUS_EXPAND_WITH_CONSTRUCTORS);
-						if (anonymousPref && type.isAnonymous()) {
-							withConstructors= true;
-						} else if (isInTheDefaultExpandWithConstructorList(method)) {
+						if ((anonymousPref && type.isAnonymous())
+								|| isInTheDefaultExpandWithConstructorList(method)) {
 							withConstructors= true;
 						}
 					}
@@ -420,11 +419,11 @@
 				return false;
 			}
 			return true;
-		} else if (element instanceof TreeRoot) {
-			return true;
-		} else if (element instanceof DeferredMethodWrapper) {
-			// Err on the safe side by returning true even though
-			// we don't know for sure that there are children.
+		} else if ((element instanceof TreeRoot)
+				|| (element instanceof DeferredMethodWrapper)
+				// Err on the safe side by returning true even though
+				// we don't know for sure that there are children.
+				) {
 			return true;
 		}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/LocationLabelProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/LocationLabelProvider.java
index aab9621..fe4c4de 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/LocationLabelProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/LocationLabelProvider.java
@@ -54,9 +54,9 @@
                 withinString = !withinString;
             }
 
-            if (withinString) {
+            if (withinString || !Character.isWhitespace(ch)) {
                 buf.append(ch);
-            } else if (Character.isWhitespace(ch)) {
+            } else {
                 if ((buf.length() == 0) ||
                             !Character.isWhitespace(buf.charAt(buf.length() - 1))) {
                     if (ch != ' ') {
@@ -65,8 +65,6 @@
 
                     buf.append(ch);
                 }
-            } else {
-                buf.append(ch);
             }
         }
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/OpenLocationAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/OpenLocationAction.java
index 2df8939..2c675f4 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/OpenLocationAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/OpenLocationAction.java
@@ -56,9 +56,7 @@
         for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
             Object element = iter.next();
 
-            if (element instanceof MethodWrapper) {
-                continue;
-            } else if (element instanceof CallLocation) {
+            if ((element instanceof MethodWrapper) || (element instanceof CallLocation)) {
                 continue;
             }
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/dialogs/TextFieldNavigationHandler.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/dialogs/TextFieldNavigationHandler.java
index f728c1f..8f6abd5 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/dialogs/TextFieldNavigationHandler.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/dialogs/TextFieldNavigationHandler.java
@@ -95,10 +95,9 @@
 			Point selection= getSelection();
 			if (selection.equals(fLastSelection)) {
 				// leave caret position
-			} else if (selection.x == selection.y) { //empty range
+			} else if ((selection.x == selection.y) // Empty range
+					|| (fLastSelection.y == selection.y)) { // Same end -> assume caret at start
 				fCaretPosition= selection.x;
-			} else if (fLastSelection.y == selection.y) {
-				fCaretPosition= selection.x; //same end -> assume caret at start
 			} else {
 				fCaretPosition= selection.y;
 			}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackageWizard.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackageWizard.java
index 4ef878c..cf7b696 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackageWizard.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarPackageWizard.java
@@ -103,16 +103,12 @@
 	}
 
 	private void addJavaElement(List<Object> selectedElements, IJavaElement je) {
-		if (je.getElementType() == IJavaElement.COMPILATION_UNIT)
+		if ((je.getElementType() == IJavaElement.COMPILATION_UNIT)
+				|| (je.getElementType() == IJavaElement.CLASS_FILE)
+				|| (je.getElementType() == IJavaElement.JAVA_PROJECT))
 			selectedElements.add(je);
-		else if (je.getElementType() == IJavaElement.CLASS_FILE)
-			selectedElements.add(je);
-		else if (je.getElementType() == IJavaElement.JAVA_PROJECT)
-			selectedElements.add(je);
-		else if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
-			if (!isInArchiveOrExternal(je))
-				selectedElements.add(je);
-		} else if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
+		else if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT
+				|| je.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
 			if (!isInArchiveOrExternal(je))
 				selectedElements.add(je);
 		} else {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocOptionsManager.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocOptionsManager.java
index 516a69d..4208186 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocOptionsManager.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocOptionsManager.java
@@ -651,15 +651,7 @@
 	}
 
 	private boolean loadBoolean(String value) {
-
-		if (value == null || value.length() == 0)
-			return false;
-		else {
-			if (value.equals("true")) //$NON-NLS-1$
-				return true;
-			else
-				return false;
-		}
+		return "true".equals(value); //$NON-NLS-1$
 	}
 
 	private String flatPathList(IPath[] paths) {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocTreeWizardPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocTreeWizardPage.java
index 3d1ff37..3f083a7 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocTreeWizardPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocTreeWizardPage.java
@@ -430,9 +430,8 @@
 		for (IJavaElement curr : sourceElements) {
 			if (curr instanceof ICompilationUnit) {
 				fInputGroup.initialCheckListItem(curr);
-			} else if (curr instanceof IPackageFragment) {
-				fInputGroup.initialCheckTreeItem(curr);
-			} else if (curr instanceof IJavaProject) {
+			} else if ((curr instanceof IPackageFragment)
+			        || (curr instanceof IJavaProject)) {
 				fInputGroup.initialCheckTreeItem(curr);
 			} else if (curr instanceof IPackageFragmentRoot) {
 				IPackageFragmentRoot root= (IPackageFragmentRoot) curr;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ASTProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ASTProvider.java
index 5610c2f..fdf9f35 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ASTProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ASTProvider.java
@@ -229,9 +229,8 @@
 		if (JavaPlugin.DEBUG_AST_PROVIDER)
 			System.out.println(CoreASTProvider.getThreadName() + " - " + CoreASTProvider.DEBUG_PREFIX + "active editor is: " + INSTANCE.toString(javaElement)); //$NON-NLS-1$ //$NON-NLS-2$
 
-		if (INSTANCE.isReconciling() && (INSTANCE.getReconcilingJavaElement() == null || !INSTANCE.getReconcilingJavaElement().equals(javaElement))) {
-			INSTANCE.clearReconciliation();
-		} else if (javaElement == null) {
+		if ((INSTANCE.isReconciling() && (INSTANCE.getReconcilingJavaElement() == null || !INSTANCE.getReconcilingJavaElement().equals(javaElement)))
+				|| (javaElement == null)) {
 			INSTANCE.clearReconciliation();
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/EditorUtility.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/EditorUtility.java
index d758b7f..1e0ba6d 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/EditorUtility.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/EditorUtility.java
@@ -259,10 +259,10 @@
 		// Support for non-Java editor
 		try {
 			ISourceRange range= null;
-			if (element instanceof ICompilationUnit)
+			if (element instanceof ICompilationUnit
+					|| element instanceof IClassFile) {
 				return;
-			else if (element instanceof IClassFile)
-				return;
+			}
 
 			if (element instanceof ISourceReference)
 				range= ((ISourceReference)element).getNameRange();
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/InternalClassFileEditorInput.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/InternalClassFileEditorInput.java
index 839b013..2f37c12 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/InternalClassFileEditorInput.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/InternalClassFileEditorInput.java
@@ -139,9 +139,7 @@
 	@Override
 	@SuppressWarnings("unchecked")
 	public <T> T getAdapter(Class<T> adapter) {
-		if (adapter == IClassFile.class)
-			return (T) fClassFile;
-		else if (adapter == IJavaElement.class)
+		if ((adapter == IClassFile.class) || (adapter == IJavaElement.class))
 			return (T) fClassFile;
 		return null;
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
index 4733c29..dd2bdd9 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
@@ -3360,9 +3360,8 @@
 		}
 
 		if (locations == null) {
-			if (!fStickyOccurrenceAnnotations)
-				removeOccurrenceAnnotations();
-			else if (hasChanged) // check consistency of current annotations
+			if (!fStickyOccurrenceAnnotations
+			        || hasChanged) // check consistency of current annotations
 				removeOccurrenceAnnotations();
 			return;
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorBreadcrumb.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorBreadcrumb.java
index abd55a7..89f7b5d 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorBreadcrumb.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorBreadcrumb.java
@@ -651,19 +651,18 @@
 				for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
 					IClasspathEntry classpathEntry= JavaModelUtil.getClasspathEntry(root);
 					int entryKind= classpathEntry.getEntryKind();
-					if (entryKind == IClasspathEntry.CPE_CONTAINER) {
-						// all ClassPathContainers are added later
-					} else if (SHOW_LIBRARIES_NODE && (entryKind == IClasspathEntry.CPE_LIBRARY || entryKind == IClasspathEntry.CPE_VARIABLE)) {
-						// skip: will add the referenced library node later
+					if (entryKind == IClasspathEntry.CPE_CONTAINER // all ClassPathContainers are added later
+							|| (SHOW_LIBRARIES_NODE && (entryKind == IClasspathEntry.CPE_LIBRARY
+							|| entryKind == IClasspathEntry.CPE_VARIABLE)) // skip: will add the referenced library node later
+							) {
+						// Nothing
+					} else if (isProjectPackageFragmentRoot(root)) {
+						// filter out package fragments that correspond to projects and
+						// replace them with the package fragments directly
+						Object[] fragments= getPackageFragmentRootContent(root);
+						result.addAll(Arrays.asList(fragments));
 					} else {
-						if (isProjectPackageFragmentRoot(root)) {
-							// filter out package fragments that correspond to projects and
-							// replace them with the package fragments directly
-							Object[] fragments= getPackageFragmentRootContent(root);
-							result.addAll(Arrays.asList(fragments));
-						} else {
-							result.add(root);
-						}
+						result.add(root);
 					}
 				}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaElementHyperlinkDetector.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaElementHyperlinkDetector.java
index eb799ff..20f0148 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaElementHyperlinkDetector.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaElementHyperlinkDetector.java
@@ -268,9 +268,7 @@
 
 		ASTNode parent= caseNode.getParent();
 		ASTNode switchNode;
-		if (parent instanceof SwitchStatement) {
-			switchNode= parent;
-		} else if (parent instanceof SwitchExpression) {
+		if ((parent instanceof SwitchStatement) || (parent instanceof SwitchExpression)) {
 			switchNode= parent;
 		} else {
 			return null;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaTextSelection.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaTextSelection.java
index 1a3acf2..8a077c6 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaTextSelection.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaTextSelection.java
@@ -180,10 +180,8 @@
 		} else {
 			while (node != null) {
 				int nodeType= node.getNodeType();
-				if (node instanceof AbstractTypeDeclaration) {
-					fInClassInitializer= false;
-					break;
-				} else if (nodeType == ASTNode.ANONYMOUS_CLASS_DECLARATION) {
+				if (node instanceof AbstractTypeDeclaration
+						|| nodeType == ASTNode.ANONYMOUS_CLASS_DECLARATION) {
 					fInClassInitializer= false;
 					break;
 				} else if (nodeType == ASTNode.INITIALIZER) {
@@ -205,22 +203,18 @@
 		ASTNode last= null;
 		while (node != null) {
 			int nodeType= node.getNodeType();
-			if (node instanceof AbstractTypeDeclaration) {
+			if ((node instanceof AbstractTypeDeclaration)
+					|| (nodeType == ASTNode.ANONYMOUS_CLASS_DECLARATION)) {
 				fInVariableInitializer= false;
 				break;
-			} else if (nodeType == ASTNode.ANONYMOUS_CLASS_DECLARATION) {
-				fInVariableInitializer= false;
-				break;
-			} else if (nodeType == ASTNode.VARIABLE_DECLARATION_FRAGMENT &&
-					   ((VariableDeclarationFragment)node).getInitializer() == last) {
-				fInVariableInitializer= true;
-				break;
-			} else if (nodeType == ASTNode.SINGLE_VARIABLE_DECLARATION &&
-				       ((SingleVariableDeclaration)node).getInitializer() == last) {
+			} else if ((nodeType == ASTNode.VARIABLE_DECLARATION_FRAGMENT &&
+					((VariableDeclarationFragment)node).getInitializer() == last)
+					|| (nodeType == ASTNode.SINGLE_VARIABLE_DECLARATION &&
+					((SingleVariableDeclaration)node).getInitializer() == last)) {
 				fInVariableInitializer= true;
 				break;
 			} else if (nodeType == ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION &&
-				       ((AnnotationTypeMemberDeclaration)node).getDefault() == last) {
+					((AnnotationTypeMemberDeclaration)node).getDefault() == last) {
 				fInVariableInitializer= true;
 				break;
 			}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/model/JavaModelLabelProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/model/JavaModelLabelProvider.java
index 1a81d88..bd71b02 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/model/JavaModelLabelProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/model/JavaModelLabelProvider.java
@@ -102,10 +102,10 @@
 		}
 		Image image= super.getImage(element);
 		if (image == null) {
-			if (element instanceof RefactoringHistory)
+			if ((element instanceof RefactoringHistory)
+					|| (element instanceof RefactoringDescriptorProxy)) {
 				image= fHistoryLabelProvider.getImage(element);
-			else if (element instanceof RefactoringDescriptorProxy)
-				image= fHistoryLabelProvider.getImage(element);
+			}
 			return decorateImage(image, element);
 		}
 		return image;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java
index 40acf42..9704d25 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java
@@ -690,15 +690,13 @@
 				Object grandparent= internalGetParent(parent);
 				// 1GE8SI6: ITPJUI:WIN98 - Rename is not shown in Packages View
 				// avoid posting a refresh to an invisible parent
-				if (parent.equals(fInput)) {
+				if (parent.equals(fInput)
+						|| fViewer.testFindItem(parent) != null
+						) {
 					postRefresh(parent, PARENT, element, runnables);
 				} else {
 					// refresh from grandparent if parent isn't visible yet
-					if (fViewer.testFindItem(parent) == null)
-						postRefresh(grandparent, GRANT_PARENT, element, runnables);
-					else {
-						postRefresh(parent, PARENT, element, runnables);
-					}
+					postRefresh(grandparent, GRANT_PARENT, element, runnables);
 				}
 				return true;
 			} else {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java
index c66dfd4..b576757 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java
@@ -861,11 +861,9 @@
 					fCompilerReleaseCheck.setSelection(false);
 					setValue(PREF_RELEASE, JavaCore.DISABLED);
 				} else {
-					if (fProject == null) {
-						fCompilerReleaseCheck.setEnabled(true);
-					} else if (isJREUnsupportedAndGreater && JavaModelUtil.is16OrHigher(compliance)) {
-						fCompilerReleaseCheck.setEnabled(true);
-					} else if (JavaModelUtil.is9OrHigher(compliance)) {
+					if ((fProject == null)
+							|| (isJREUnsupportedAndGreater && JavaModelUtil.is16OrHigher(compliance))
+							|| JavaModelUtil.is9OrHigher(compliance)) {
 						fCompilerReleaseCheck.setEnabled(true);
 					}
 					updateComplianceEnableSourceTargetState();
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/UserLibraryPreferencePage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/UserLibraryPreferencePage.java
index c60036f..800599d 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/UserLibraryPreferencePage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/UserLibraryPreferencePage.java
@@ -1330,9 +1330,8 @@
 						return false;
 					}
 				}
-			} else if (elem instanceof CPListElement) {
-				// ok to remove
-			} else if (elem instanceof CPUserLibraryElement) {
+			} else if (elem instanceof CPListElement
+					|| elem instanceof CPUserLibraryElement) {
 				// ok to remove
 			} else { // unknown element
 				return false;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ProfileManager.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ProfileManager.java
index 0ce50f3..1f1ec8e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ProfileManager.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ProfileManager.java
@@ -587,9 +587,8 @@
 			uiPrefs.putInt(fProfileVersionKey, fProfileVersioner.getCurrentVersion());
 		}
 
-		if (context.getName() == InstanceScope.SCOPE) {
-			uiPrefs.put(fProfileKey, profile.getID());
-		} else if (context.getName() == ProjectScope.SCOPE && !profile.isSharedProfile()) {
+		if (context.getName() == InstanceScope.SCOPE
+				|| (context.getName() == ProjectScope.SCOPE && !profile.isSharedProfile())) {
 			uiPrefs.put(fProfileKey, profile.getID());
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/FastJavaPartitionScanner.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/FastJavaPartitionScanner.java
index 7c1d377..7c1e7d8 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/FastJavaPartitionScanner.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/FastJavaPartitionScanner.java
@@ -453,10 +453,10 @@
 						}
 						break;
 				case '\"':
-					if (fLast == BACKSLASH) {
+					if ((fLast == BACKSLASH) || !scanForTextBlockClose()) {
 	 					consume();
 	 					break;
-		 			} else if (scanForTextBlockClose()) {
+		 			} else {
 		 				boolean considerEndQuotes= true;
 		 				try {
 		 					IDocumentPartitioner docPartitioner= fCurrentDocument.getDocumentPartitioner();
@@ -491,9 +491,6 @@
 		 					fTokenLength= fTokenLength - 1;
 		 				}
 						return postFix(MULTI_LINE_STRING);
-					} else {
-						consume();
-						break;
 					}
 				default:
 					consume();
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaIndenter.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaIndenter.java
index 54fc849..b346400 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaIndenter.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaIndenter.java
@@ -673,10 +673,8 @@
 		if (JavaCore.SPACE.equals(fPrefs.prefTabChar)) {
 			tabs= 0;
 			spaces= missing;
-		} else if (JavaCore.TAB.equals(fPrefs.prefTabChar)) {
-			tabs= tabSize > 0 ? missing / tabSize : 0;
-			spaces= tabSize > 0 ? missing % tabSize : missing;
-		} else if (DefaultCodeFormatterConstants.MIXED.equals(fPrefs.prefTabChar)) {
+		} else if (JavaCore.TAB.equals(fPrefs.prefTabChar)
+				|| DefaultCodeFormatterConstants.MIXED.equals(fPrefs.prefTabChar)) {
 			tabs= tabSize > 0 ? missing / tabSize : 0;
 			spaces= tabSize > 0 ? missing % tabSize : missing;
 		} else {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/TypingRunDetector.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/TypingRunDetector.java
index 55a1148..c488f87 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/TypingRunDetector.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/TypingRunDetector.java
@@ -93,9 +93,7 @@
 			if (fType.equals(change.fType)) {
 				if (fType == TypingRun.DELETE)
 					return fNextOffset == change.fNextOffset - 1;
-				else if (fType == TypingRun.INSERT)
-					return fNextOffset == change.fNextOffset + 1;
-				else if (fType == TypingRun.OVERTYPE)
+				else if ((fType == TypingRun.INSERT) || (fType == TypingRun.OVERTYPE))
 					return fNextOffset == change.fNextOffset + 1;
 				else if (fType == TypingRun.SELECTION)
 					return true;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java
index cf7cd2d..6a4b986 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java
@@ -444,9 +444,8 @@
 		}
 		// check that 'if' statement is statement in block that is body of loop
 		Block loopBlock= null;
-		if (ifStatement.getParent() instanceof Block && ifStatement.getParent().getParent() instanceof ForStatement) {
-			loopBlock= (Block) ifStatement.getParent();
-		} else if (ifStatement.getParent() instanceof Block && ifStatement.getParent().getParent() instanceof WhileStatement) {
+		if (ifStatement.getParent() instanceof Block
+				&& (ifStatement.getParent().getParent() instanceof ForStatement || ifStatement.getParent().getParent() instanceof WhileStatement)) {
 			loopBlock= (Block) ifStatement.getParent();
 		} else {
 			return false;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavaCorrectionAssistant.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavaCorrectionAssistant.java
index 3d1e6ae..3355c60 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavaCorrectionAssistant.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/JavaCorrectionAssistant.java
@@ -314,10 +314,10 @@
 	 */
 	private static int computeBestOffset(int newOffset, int invocationLocation, int bestOffset) {
 		if (newOffset <= invocationLocation) {
-			if (bestOffset > invocationLocation) {
-				return newOffset; // closest was on the right, prefer on the left
-			} else if (bestOffset <= newOffset) {
-				return newOffset; // we are closer or equal
+			if ((bestOffset > invocationLocation) // closest was on the right, prefer on the left
+					|| (bestOffset <= newOffset) // we are closer or equal
+					) {
+				return newOffset;
 			}
 			return -1; // further away
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java
index 18f0934..d9f27f4 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java
@@ -1289,9 +1289,8 @@
 						// use this::
 					} else if (Modifier.isDefault(methodBinding.getModifiers())) {
 						boolean nestedInterfaceClass= isNestedInterfaceClass(ast, lambdaMethodDeclaringClass, lambdaMethodInvokingClass);
-						if (isNestedClass) {
-							// use this::
-						} else if (nestedInterfaceClass && !isNestedClass && !isSuperClass) {
+						if (isNestedClass
+								|| (nestedInterfaceClass && !isSuperClass)) {
 							// use this::
 						} else if (!nestedInterfaceClass || (nestedRootClass != lambdaMethodInvokingClass)) {
 							newThisExpression.setQualifier(ast.newName(nestedRootClass.getName()));
@@ -1485,11 +1484,10 @@
 		ASTNode parent= covering.getParent();
 		if (covering instanceof LambdaExpression) {
 			lambda= (LambdaExpression) covering;
-		} else if (covering.getLocationInParent() == VariableDeclarationFragment.NAME_PROPERTY &&
-				((VariableDeclarationFragment) covering.getParent()).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY) {
-			lambda= (LambdaExpression) covering.getParent().getParent();
-		} else if (covering.getLocationInParent() == SingleVariableDeclaration.NAME_PROPERTY &&
-				((SingleVariableDeclaration) parent).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY) {
+		} else if ((covering.getLocationInParent() == VariableDeclarationFragment.NAME_PROPERTY &&
+				((VariableDeclarationFragment) covering.getParent()).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY)
+				|| (covering.getLocationInParent() == SingleVariableDeclaration.NAME_PROPERTY &&
+				((SingleVariableDeclaration) parent).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY)) {
 			lambda= (LambdaExpression) covering.getParent().getParent();
 		}
 
@@ -1573,11 +1571,10 @@
 		boolean isLambdaParamExplicitType= false;
 		if (covering instanceof LambdaExpression) {
 			lambda= (LambdaExpression) covering;
-		} else if (covering.getLocationInParent() == VariableDeclarationFragment.NAME_PROPERTY &&
-				((VariableDeclarationFragment) parent).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY) {
-			lambda= (LambdaExpression) covering.getParent().getParent();
-		} else if (covering.getLocationInParent() == SingleVariableDeclaration.NAME_PROPERTY &&
-				((SingleVariableDeclaration) parent).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY) {
+		} else if ((covering.getLocationInParent() == VariableDeclarationFragment.NAME_PROPERTY &&
+				((VariableDeclarationFragment) parent).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY)
+				|| (covering.getLocationInParent() == SingleVariableDeclaration.NAME_PROPERTY &&
+				((SingleVariableDeclaration) parent).getLocationInParent() == LambdaExpression.PARAMETERS_PROPERTY)) {
 			lambda= (LambdaExpression) covering.getParent().getParent();
 		}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/proposals/ExtractToNullCheckedLocalProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/proposals/ExtractToNullCheckedLocalProposal.java
index b6aea6d..dcbe09e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/proposals/ExtractToNullCheckedLocalProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/proposals/ExtractToNullCheckedLocalProposal.java
@@ -234,9 +234,8 @@
 
 		Expression toReplace;
 		ASTNode directParent= this.fieldReference.getParent();
-		if (directParent instanceof FieldAccess) {
-			toReplace= (Expression) directParent;
-		} else if (directParent instanceof QualifiedName && this.fieldReference.getLocationInParent() == QualifiedName.NAME_PROPERTY) {
+		if (directParent instanceof FieldAccess
+				|| (directParent instanceof QualifiedName && this.fieldReference.getLocationInParent() == QualifiedName.NAME_PROPERTY)) {
 			toReplace= (Expression) directParent;
 		} else {
 			toReplace= this.fieldReference;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java
index 047d25e..839144b 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java
@@ -354,17 +354,9 @@
 					LazyJavaCompletionProposal proposal= createRequiredTypeCompletionProposal(requiredProposals[i], fInvocationContext);
 					proposal.apply(document);
 					setReplacementOffset(getReplacementOffset() + document.getLength() - oldLen);
-				} else if (requiredProposals[i].getKind() == CompletionProposal.TYPE_IMPORT) {
-					ImportCompletionProposal proposal= new ImportCompletionProposal(requiredProposals[i], fInvocationContext, coreProposal.getKind());
-					proposal.setReplacementOffset(getReplacementOffset());
-					proposal.apply(document);
-					setReplacementOffset(getReplacementOffset() + document.getLength() - oldLen - proposal.getLengthOfImportsAddedBehindReplacementOffset());
-				} else if (requiredProposals[i].getKind() == CompletionProposal.METHOD_IMPORT) {
-					ImportCompletionProposal proposal= new ImportCompletionProposal(requiredProposals[i], fInvocationContext, coreProposal.getKind());
-					proposal.setReplacementOffset(getReplacementOffset());
-					proposal.apply(document);
-					setReplacementOffset(getReplacementOffset() + document.getLength() - oldLen - proposal.getLengthOfImportsAddedBehindReplacementOffset());
-				} else if (requiredProposals[i].getKind() == CompletionProposal.FIELD_IMPORT) {
+				} else if ((requiredProposals[i].getKind() == CompletionProposal.TYPE_IMPORT)
+						|| (requiredProposals[i].getKind() == CompletionProposal.METHOD_IMPORT)
+						|| (requiredProposals[i].getKind() == CompletionProposal.FIELD_IMPORT)) {
 					ImportCompletionProposal proposal= new ImportCompletionProposal(requiredProposals[i], fInvocationContext, coreProposal.getKind());
 					proposal.setReplacementOffset(getReplacementOffset());
 					proposal.apply(document);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java
index 6144447..333f965 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java
@@ -1512,9 +1512,7 @@
 			handleIndex(node.fragments());
 		else if (isCode || isLiteral)
 			handleContentElements(node.fragments(), true);
-		else if (handleInheritDoc(node)) {
-			// handled
-		} else if (handleDocRoot(node)) {
+		else if (handleInheritDoc(node) || handleDocRoot(node)) {
 			// handled
 		} else {
 			//print uninterpreted source {@tagname ...} for unknown tags
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/WordCorrectionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/WordCorrectionProposal.java
index 3cc62fb..674f61e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/WordCorrectionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/WordCorrectionProposal.java
@@ -175,13 +175,12 @@
 		int length= fContext.getLength();
 
 		final int delta= fWord.length() - fLength;
-		if (offset <= fOffset && offset + length >= fOffset)
-			length += delta;
-		else if (offset > fOffset && offset + length > fOffset + fLength) {
+		if (offset > fOffset && offset + length > fOffset + fLength) {
 			offset += delta;
 			length -= delta;
-		} else
+		} else {
 			length += delta;
+		}
 
 		return new Point(offset, length);
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/engine/DefaultPhoneticHashProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/engine/DefaultPhoneticHashProvider.java
index 16a4baf..9e78c7e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/engine/DefaultPhoneticHashProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/engine/DefaultPhoneticHashProvider.java
@@ -441,18 +441,11 @@
 					}
 					if ((offset == 0) && !hasOneOf(meta53, hashable, offset, 4)) {
 						buffer.append('J');
-					} else {
-						if (hasVowel(hashable, offset - 1, hashable.length) && !has95 && ((hashable[offset + 1] == 'A') || hashable[offset + 1] == 'O')) {
-							buffer.append('J');
-						} else {
-							if (offset == (hashable.length - 1)) {
-								buffer.append('J');
-							} else {
-								if (!hasOneOf(meta54, hashable, offset + 1, 1) && !hasOneOf(meta55, hashable, offset - 1, 1)) {
-									buffer.append('J');
-								}
-							}
-						}
+					} else if (hasVowel(hashable, offset - 1, hashable.length) && !has95 && ((hashable[offset + 1] == 'A') || hashable[offset + 1] == 'O')) {
+						buffer.append('J');
+					} else if ((offset == (hashable.length - 1))
+							|| (!hasOneOf(meta54, hashable, offset + 1, 1) && !hasOneOf(meta55, hashable, offset - 1, 1))) {
+						buffer.append('J');
 					}
 					if (hashable[offset + 1] == 'J')
 						offset += 2;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/NewSourceFolderWizardPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/NewSourceFolderWizardPage.java
index d47c234..08e69ec 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/NewSourceFolderWizardPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/NewSourceFolderWizardPage.java
@@ -266,9 +266,7 @@
 		} else if (field == fProjectField) {
 			updateProjectStatus();
 			updateRootStatus();
-		} else if (field == fExcludeInOthersFields) {
-			updateRootStatus();
-		} else if (field == fIgnoreOptionalProblemsField) {
+		} else if ((field == fExcludeInOthersFields) || (field == fIgnoreOptionalProblemsField)) {
 			updateRootStatus();
 		}
 		updateStatus(new IStatus[] { fProjectStatus, fRootStatus });
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathsBlock.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathsBlock.java
index 878b2b4..bf246da 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathsBlock.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathsBlock.java
@@ -812,12 +812,9 @@
 			} else if (!outputLocation.equals(oldOutputLocation)) {
 				IFolder folder= ResourcesPlugin.getWorkspace().getRoot().getFolder(oldOutputLocation);
 				if (folder.exists()) {
-					if (folder.members().length == 0) {
+					if ((folder.members().length == 0)
+					        || BuildPathsBlock.getRemoveOldBinariesQuery(JavaPlugin.getActiveWorkbenchShell()).doQuery(folder.isDerived(), oldOutputLocation)) {
 						BuildPathsBlock.removeOldClassfiles(folder);
-					} else {
-						if (BuildPathsBlock.getRemoveOldBinariesQuery(JavaPlugin.getActiveWorkbenchShell()).doQuery(folder.isDerived(), oldOutputLocation)) {
-							BuildPathsBlock.removeOldClassfiles(folder);
-						}
 					}
 				}
 			}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListElementSorter.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListElementSorter.java
index cdb921d..caf303c 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListElementSorter.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListElementSorter.java
@@ -58,9 +58,7 @@
 			case IClasspathEntry.CPE_CONTAINER:
 				return CONTAINER;
 			}
-		} else if (obj instanceof CPListElementAttribute) {
-			return ATTRIBUTE;
-		} else if (obj instanceof IAccessRule) {
+		} else if ((obj instanceof CPListElementAttribute) || (obj instanceof IAccessRule)) {
 			return ATTRIBUTE;
 		}
 		return OTHER;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListLabelProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListLabelProvider.java
index 298e0e8..05f5500 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListLabelProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/CPListLabelProvider.java
@@ -555,13 +555,10 @@
 		} else if (element instanceof IAccessRule) {
 			IAccessRule rule= (IAccessRule) element;
 			return AccessRulesLabelProvider.getResolutionImage(rule.getKind());
-		} else if (element instanceof ModulePatch) {
-			return fRegistry.get(JavaPluginImages.DESC_OBJS_MODULE_ATTRIB);
-		} else if (element instanceof ModuleAddExport) {
-			return fRegistry.get(JavaPluginImages.DESC_OBJS_MODULE_ATTRIB);
-		} else if (element instanceof ModuleAddReads) {
-			return fRegistry.get(JavaPluginImages.DESC_OBJS_MODULE_ATTRIB);
-		} else if (element instanceof LimitModules) {
+		} else if ((element instanceof ModulePatch)
+		        || (element instanceof ModuleAddExport)
+		        || (element instanceof ModuleAddReads)
+		        || (element instanceof LimitModules)) {
 			return fRegistry.get(JavaPluginImages.DESC_OBJS_MODULE_ATTRIB);
 		}
 		return null;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/SourceContainerWorkbookPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/SourceContainerWorkbookPage.java
index 5ce2c02..884d087 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/SourceContainerWorkbookPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/SourceContainerWorkbookPage.java
@@ -525,11 +525,8 @@
 				CPListElementAttribute attrib= (CPListElementAttribute) elem;
 				String key= attrib.getKey();
 				if (attrib.isBuiltIn()) {
-					if (CPListElement.INCLUSION.equals(key)) {
-						if (((IPath[]) attrib.getValue()).length == 0) {
-							return false;
-						}
-					} else if (CPListElement.EXCLUSION.equals(key)) {
+					if (CPListElement.INCLUSION.equals(key)
+							|| CPListElement.EXCLUSION.equals(key)) {
 						if (((IPath[]) attrib.getValue()).length == 0) {
 							return false;
 						}
@@ -565,9 +562,8 @@
 		}
 		if (elem instanceof CPListElementAttribute) {
 			CPListElementAttribute attrib= (CPListElementAttribute) elem;
-			if (attrib.isBuiltIn()) {
-				return true;
-			} else if (CPListElement.IGNORE_OPTIONAL_PROBLEMS.equals(attrib.getKey())) {
+			if (attrib.isBuiltIn()
+					|| CPListElement.IGNORE_OPTIONAL_PROBLEMS.equals(attrib.getKey())) {
 				return true;
 			} else {
 				return canEditCustomAttribute(attrib);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/dialogfields/CheckedListDialogField.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/dialogfields/CheckedListDialogField.java
index ff1faac..40091c3 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/dialogfields/CheckedListDialogField.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/dialogfields/CheckedListDialogField.java
@@ -281,9 +281,8 @@
 	 */
 	@Override
 	protected boolean getManagedButtonState(ISelection sel, int index) {
-		if (index == fCheckAllButtonIndex) {
-			return !fElements.isEmpty();
-		} else if (index == fUncheckAllButtonIndex) {
+		if (index == fCheckAllButtonIndex
+				|| index == fUncheckAllButtonIndex) {
 			return !fElements.isEmpty();
 		}
 		return super.getManagedButtonState(sel, index);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/JavaElementContentProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/JavaElementContentProvider.java
index 7e9f5eb..71fa1b0 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/JavaElementContentProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/JavaElementContentProvider.java
@@ -156,15 +156,11 @@
 				Object grandparent= internalGetParent(parent);
 				// 1GE8SI6: ITPJUI:WIN98 - Rename is not shown in Packages View
 				// avoid posting a refresh to an invisible parent
-				if (parent.equals(fInput)) {
+				// refresh from grandparent if parent isn't visible yet
+				if (parent.equals(fInput) || (fViewer.testFindItem(parent) != null)) {
 					postRefresh(parent);
 				} else {
-					// refresh from grandparent if parent isn't visible yet
-					if (fViewer.testFindItem(parent) == null)
-						postRefresh(grandparent);
-					else {
-						postRefresh(parent);
-					}
+					postRefresh(grandparent);
 				}
 			} else {
 				postAdd(parent, element);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ConvertingSelectionProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ConvertingSelectionProvider.java
index 20a9174..ae40c0f 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ConvertingSelectionProvider.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/ConvertingSelectionProvider.java
@@ -104,9 +104,11 @@
 		List<Object> result= new ArrayList<>(selection.size());
 		for (Iterator<?> iter= selection.iterator(); iter.hasNext();) {
 			Object element= iter.next();
-			if (element instanceof IResource || element instanceof IJavaElement) {
+			if (element instanceof IResource
+					|| element instanceof IJavaElement
+					|| !(element instanceof IAdaptable)) {
 				result.add(element);
-			} else if (element instanceof IAdaptable) {
+			} else {
 				IAdaptable adaptable= (IAdaptable)element;
 				IJavaElement jElement= adaptable.getAdapter(IJavaElement.class);
 				if (jElement != null) {
@@ -119,8 +121,6 @@
 						result.add(element);
 					}
 				}
-			} else {
-				result.add(element);
 			}
 		}
 		return new StructuredSelection(result);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindAction.java
index a20b24c..53e5ff7 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindAction.java
@@ -234,9 +234,8 @@
 			if (element == null || !element.exists()) {
 				showOperationUnavailableDialog();
 				return;
-			} else if (element == RETURN_WITHOUT_BEEP) {
-				return;
-			} else if (!ActionUtil.isProcessable(getShell(), element)) {
+			} else if (element == RETURN_WITHOUT_BEEP
+					|| !ActionUtil.isProcessable(getShell(), element)) {
 				return;
 			}
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/RefreshAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/RefreshAction.java
index 120a0ed..7a110c4 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/RefreshAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/RefreshAction.java
@@ -152,14 +152,10 @@
 		boolean okToRefresh= false;
 		for (Iterator<?> iter= selection.iterator(); iter.hasNext();) {
 			Object element= iter.next();
-			if (element instanceof IWorkingSet) {
-				// don't inspect working sets any deeper.
-				okToRefresh= true;
-			} else if (element instanceof IPackageFragmentRoot) {
-				// on internal folders/JARs we do a normal refresh, and Java archive refresh on external
-				okToRefresh= true;
-			} else if (element instanceof PackageFragmentRootContainer) {
-				// too expensive to look at children. assume we can refresh
+			if ((element instanceof IWorkingSet) // don't inspect working sets any deeper.
+					|| (element instanceof IPackageFragmentRoot) // on internal folders/JARs we do a normal refresh, and Java archive refresh on external
+					|| (element instanceof PackageFragmentRootContainer) // too expensive to look at children. assume we can refresh
+					) {
 				okToRefresh= true;
 			} else if (element instanceof IAdaptable) { // test for IAdaptable last (types before are IAdaptable as well)
 				IResource resource= ((IAdaptable)element).getAdapter(IResource.class);