 
   ms_logger.note(l_node, 'i_indent    '     ,i_indent     );
   ms_logger.note(l_node, 'i_regex_end '     ,i_regex_end  );
-  
-  
- 
-
+ 
  
   loop
  
 	l_keyword := get_next_upper( i_search      => G_REGEX_OPEN
                                            ||'|'||G_REGEX_NEUTRAL
                                            ||'|'||G_REGEX_CLOSE
+                                           ||'|'||G_REGEX_WHEN_OTHERS_THEN
                                 ,i_stop        => G_REGEX_START_ANNOTATION --don't colour it
                                            ||'|'||G_REGEX_ASSIGN_TO_BIND_VAR
                                 ,i_colour      => G_COLOUR_BLOCK);

  G_REGEX_END_CASE_EXPR CONSTANT VARCHAR2(50) := '\sEND\W'; 
  G_REGEX_END_IF        CONSTANT VARCHAR2(50) := '\sEND\s+?IF\s*?;';
   
  G_ANNOTATION          CONSTANT VARCHAR2(50) := '--';
 
  G_REGEX_OPEN         CONSTANT VARCHAR2(200) :=   G_REGEX_DECLARE      
                                            ||'|'||G_REGEX_BEGIN        

                                            ;   
  G_REGEX_NEUTRAL      CONSTANT VARCHAR2(200) :=   G_REGEX_ELSE         
                                            ||'|'||G_REGEX_ELSIF
  --                                          ||'|'||G_REGEX_WHEN
  --                                          ||'|'||G_REGEX_THEN     
                                            ||'|'||G_REGEX_EXCEPTION                                            
                                            ;      
  G_REGEX_WHEN_OTHERS_THEN          CONSTANT VARCHAR2(50) := '\sWHEN\s+?OTHERS\s+?THEN\s';
 
  G_REGEX_CLOSE        CONSTANT VARCHAR2(200) :=  G_REGEX_END_BEGIN    
                                           ||'|'||G_REGEX_END_LOOP     
