Bug 108453 [quick fix] @SuppressWarnings("nls") on static initializer causes error
If you have static block with non-externalised strings and you add "SuppressWarning" quick fix to the block, jdt compiler reports error on the static key word saying "Syntax error, insert "enum Identifier" to complete EnumHeader" Cheers
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ModifierCorrectionSubProcessor.java
break;
			case ASTNode.ENUM_CONSTANT_DECLARATION:
				property= EnumConstantDeclaration.MODIFIERS2_PROPERTY;
				name= ((EnumConstantDeclaration) node).getName().getIdentifier();
				break;
			default:
				JavaPlugin.logErrorMessage("SuppressWarning quick fix: wrong node kind: " + node.getNodeType()); 
				return;
		}
		
		AST ast= node.getAST();
		ASTRewrite rewrite= ASTRewrite.create(ast);
		
		StringLiteral newStringLiteral= ast.newStringLiteral();
		newStringLiteral.setLiteralValue(warningToken);
		
		Annotation existing= findExistingAnnotation((List) node.getStructuralProperty(property));
		if (existing == null) {
			ListRewrite listRewrite= rewrite.getListRewrite(node, property);
			
			SingleMemberAnnotation newAnnot= ast.newSingleMemberAnnotation();
			newAnnot.setTypeName(ast.newSimpleName("SuppressWarnings")); 
			newAnnot.setValue(newStringLiteral);
			
			listRewrite.insertFirst(newAnnot, null);
		} else if (existing instanceof SingleMemberAnnotation) {
			SingleMemberAnnotation annotation= (SingleMemberAnnotation) existing;
			Expression value= annotation.getValue();
			if (!addSuppressArgument(rewrite, value, newStringLiteral)) {
				rewrite.set(existing, SingleMemberAnnotation.VALUE_PROPERTY, newStringLiteral, null);