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
}
		} else if (existing instanceof NormalAnnotation) {
			NormalAnnotation annotation= (NormalAnnotation) existing;
			Expression value= findValue(annotation.values());
			if (!addSuppressArgument(rewrite, value, newStringLiteral)) {
				ListRewrite listRewrite= rewrite.getListRewrite(annotation, NormalAnnotation.VALUES_PROPERTY);
				MemberValuePair pair= ast.newMemberValuePair();
				pair.setName(ast.newSimpleName("value")); 
				pair.setValue(newStringLiteral);
				listRewrite.insertFirst(pair, null);
			}	
		}
		String label= Messages.format(CorrectionMessages.ModifierCorrectionSubProcessor_suppress_warnings_label, new String[] { warningToken, name });
		Image image= JavaPluginImages.get(JavaPluginImages.IMG_OBJS_ANNOTATION);
		ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, cu, rewrite, relevance, image);
		proposal.setCommandId(ADD_SUPPRESSWARNINGS_ID);
		proposals.add(proposal);
	}
	
	private static boolean addSuppressArgument(ASTRewrite rewrite, Expression value, StringLiteral newStringLiteral) {
		if (value instanceof ArrayInitializer) {
			ListRewrite listRewrite= rewrite.getListRewrite(value, ArrayInitializer.EXPRESSIONS_PROPERTY);
			listRewrite.insertLast(newStringLiteral, null);
		} else if (value instanceof StringLiteral) {
			ArrayInitializer newArr= rewrite.getAST().newArrayInitializer();
			newArr.expressions().add(rewrite.createMoveTarget(value));
			newArr.expressions().add(newStringLiteral);
			rewrite.replace(value, newArr, null);
		} else {
			return false;