anchor.diff:                                occurrence=required},
                          #field{name=f2, fnum=2, rnum=3, opts=[],
                                 occurrence=optional}]}] =
  -        lists:sort(
  -          normalize_msg_field_options(
  -            enumerate_msg_fields(
  -              extend_msgs(
  -                resolve_refs(
  -                  reformat_names(
  -                    flatten_defs(
  -                      absolutify_names(Defs)))))))).
  +        do_process_sort_defs(Defs).
   
   parses_service_test() ->
       {ok,Defs} = parse_lines(["message m1 {required uint32 f1=1;}",
  
positive.code:                              "}"]),
      [{{msg,m1}, _},
       {{msg,m2}, _},
       {{service,s1},[{req,m1,m2}]}] =
          lists:sort(
            normalize_msg_field_options(
              enumerate_msg_fields(
                extend_msgs(
                  resolve_refs(
                    reformat_names(
                      flatten_defs(
                        absolutify_names(Defs)))))))).
  
  
  parses_service_ignores_empty_method_option_braces_test() ->
      {ok,Defs} = parse_lines(["message m1 {required uint32 f1=1;}",
  
negative.code:                  #field{name=f5, opts=[]},
                   #field{name=f6, opts=[deprecated]},
                   #field{name=f7, opts=[packed, {default,true}]}]}] =
          do_process_sort_defs(Defs).
  
  parses_empty_msg_field_options_test() ->
      {ok,Defs} = parse_lines(["message m1 { required uint32 f1=1 []; }"]),
      [{{msg,m1}, [#field{name=f1, opts=[]}]}] = do_process_sort_defs(Defs).
  
  parses_and_ignores_enum_field_options_test() ->
      {ok,_Defs} = parse_lines(["enum e1 { a=1 [x=y]; }"]).
  