code: function(node) {
          			    if(node.cases && node.cases.length > 1) {
          			        //single case is implicitly fallthrough
          			        var caselen  = node.cases.length;
          			       cases: for(var i = 0; i < caselen; i++) {
          			            if(i+1 === caselen) {
          			                //last node is implicitly fall-through
          			                break;
          			            }
          			            if(fallsthrough(node.cases[i])) {
          			                //corect the highlighting to match eclipse
          			                var reportednode = node.cases[i+1];
          			                if(reportednode.test) {
          			                    reportednode.range[1] = reportednode.test.range[1];
          			                } else {
          			                    //default case - tag the token
          			                    var tokens = context.getTokens(reportednode);
          			                    if(tokens && tokens.length > 0) {
          			                        reportednode.range[1] = tokens[0].range[1];
          			                    }
          			                }
          			                var comments = reportednode.leadingComments;
          			                if(!comments && reportednode.test) {
          			                    //TODO see https://github.com/jquery/esprima/issues/1071
          			                    comments = reportednode.test.leadingComments;
          			                }
          			                if(comments) {
                      		            var comment = null;
                      		            for(var c = 0; c < comments.length; c++) {
                      		                comment = comments[c];
                      		                if(/\$?falls?\s?through\$?/i.test(comment.value.toLowerCase())) {
                      		                    continue cases;
                      		                }
                      		            }
                      		        }
          			                context.report(reportednode, ProblemMessages['no-fallthrough']);
          			            }
          			        }
          			    }
          			 }
docs: /* @callback