anchor.diff:  index_recursion(Json, [{wildcard, Field, 0 = N} | Rest], Value, Query) ->
       NewQuery = lists:concat([Query, Field]),
       NewIndexQuery = query_index_prep(NewQuery, N),
  -    %% erlang:display("7a"++NewIndexQuery),
       field_recursion(Json, Rest, Value, NewIndexQuery);
   index_recursion(Json, [{wildcard, Field, N} | Rest], Value, Query) ->
       NewQuery = lists:concat([Query, Field]),
       NewIndexQuery = query_index_prep(NewQuery, N),
  -    %% erlang:display("8"++NewIndexQuery),
       case field_recursion(Json, Rest, Value, NewIndexQuery) of
   	Value ->
  -	    %% erlang:display("9"),
   	    Value;
   	_ ->
  -	    %% erlang:display("10"),
   	    index_recursion(Json, [{wildcard, Field, N-1} | Rest], Value, Query)
       end.
       
  
positive.code: %% decode({pretty, Json}) when is_tuple(Json) ->
  %%     mk_pretty(Json).
  
      
      
  %% @doc
  %% Function: get_field/2
  %% Purpose: Get the value at a certain field
  
negative.code:     field_recursion(Json, QueryParts, Value, "").
  
  field_recursion(Json, [{wildcard, Field} | Rest], Value, Query) ->
      case get_field_max_index(Json, Field) of
  	N when is_integer(N) ->
  	    case index_recursion(Json, [{wildcard, Field, N}| Rest], Value, Query) of
  		Value ->
  		    Value;
  		R ->
  		    R
  	    end;
  	R ->
  	    R
      end;
  field_recursion(Json, [{no_wildcard, Field}], Value, Query) ->
      NewQuery = lists:concat([Query, Field]),
      case mk_pretty(get_field_help(Json, NewQuery)) of
  	R when is_list(R) ->
  	    case lists:member(Value, R) of
  		true ->
  		    Value;
  		false ->
  		    R
  	    end;
  	R ->
  	    R
      end.
  
  