anchor.diff:              riakc_obj:get_value(RiakObject);
           {error, notfound} ->
               notfound
  +    end.
  +
  +%% Commandline Utilities
  +
  +init_specs() ->
  +    spec_register(?bucket_cmd_spec),
  +    spec_register(?object_cmd_spec),
  +    spec_register(?block_cmd_spec),
  +    spec_register(?gc_cmd_spec),
  +    spec_register(?access_cmd_spec),
  +    spec_register(?storage_cmd_spec),
  +    spec_register(?user_cmd_spec),
  +    ok.
  +
  +spec_register({Name, Spec}) ->
  +    CmdSpec = [{SubCmd, ?global_opt_spec++OptSpec}||{SubCmd, OptSpec}<-Spec],
  +    put(cmd_spec, dict:store(Name, {Name, CmdSpec}, get_spec_registry())).
  +
  +get_spec_registry() ->
  +    case get(cmd_spec) of
  +        undefined ->
  +            dict:new();
  +        D -> D
  +    end.
  +
  +get_spec(Cmd) ->
  +    dict:fetch(Cmd, get_spec_registry()).
  +
  +is_valid_cmd(Cmd) when is_list(Cmd) ->
  +    is_valid_cmd(list_to_atom(Cmd));
  +is_valid_cmd(Cmd) ->
  +    dict:is_key(Cmd, get_spec_registry()).
  +
  +is_valid_cmd(Cmd, SubCmd) when is_list(Cmd) ->
  +    is_valid_cmd(list_to_atom(Cmd), list_to_atom(SubCmd));
  +is_valid_cmd(Cmd, SubCmd) ->
  +    is_valid_cmd(Cmd) andalso is_valid_subcmd(Cmd, SubCmd).
  +
  +is_valid_subcmd(Cmd, SubCmd) ->
  +    {_Cmd, Spec} = get_spec(Cmd),
  +    proplists:is_defined(SubCmd, Spec).
  +
  +get_opt_spec(Cmd, SubCmd) when is_list(Cmd) ->
  +    get_opt_spec(list_to_atom(Cmd), list_to_atom(SubCmd));
  +get_opt_spec(Cmd, SubCmd) ->
  +    {_Cmd, Spec} = get_spec(Cmd),
  +    proplists:get_value(SubCmd, Spec).
  +
  +get_cmd_names() ->
  +    dict:fetch_keys(get_spec_registry()).
  +
  +cmd_list() ->
  +    lists:flatten([cmd_list(Cmd)||Cmd <- get_cmd_names()]).
  +
  +cmd_list(Cmd) when is_list(Cmd) ->
  +    cmd_list(list_to_atom(Cmd));
  +cmd_list(Cmd) ->
  +    {Cmd, SubCmdSpecs} = get_spec(Cmd),
  +    lists:foldl(fun({SubName, _}, Acc) ->
  +                  Acc++[{Cmd, SubName}]
  +          end, [],SubCmdSpecs).
  +
  +usage(Cmd, SubCmd) ->
  +    getopt:usage(get_opt_spec(Cmd, SubCmd),
  +                 io_lib:format("~s ~s ~s", [?MODULE, Cmd, SubCmd])).
  +
  +usage(Cmd) ->
  +    getopt:usage(?global_opt_spec, "riak_cs_inspector command "),
  +    io:format("Available commands:~n"),
  +    print_cmd_list(cmd_list(Cmd)).
  +
  +usage() ->
  +    getopt:usage(?global_opt_spec, "riak_cs_inspector command "),
  +    io:format("Available commands:~n"),
  +    print_cmd_list(cmd_list()).
  +
  +print_cmd_list(CmdList) ->
  +    [io:format("   ~9.s ~.5s [option]~n", [Cmd, SubCmd])||{Cmd, SubCmd} <- CmdList].
  +
  +exit_with_usage(Reason) ->
  +    io:format("Error: ~p~n~n", [Reason]),
  +    usage(),
  +    halt(1).
  +
  +maybe_exit_with_usage(Cmd) ->
  +    case is_valid_cmd(Cmd) of
  +        false ->
  +            usage(),
  +            halt(1);
  +        _ ->
  +            ok
  +    end.
  +
  +maybe_exit_with_usage(Cmd, SubCmd) ->
  +    case is_valid_cmd(Cmd, SubCmd) of
  +        false ->
  +            usage(),
  +            halt(1);
  +        _ ->
  +            ok
  +    end.
  +
  +maybe_exit_with_usage(Cmd, SubCmd, Opts) ->
  +    case proplists:get_value(help, Opts) of
  +        true ->
  +            usage(Cmd, SubCmd),
  +            halt(0);
  +        _ ->
  +            ok
       end.
   
   %% CS Utilities
  
positive.code:     [print_manifest_summary(RiakcPid, Bucket, SiblingNo, M)
       || Key <- lists:sort(ManifestKeys),
          {SiblingNo, _UUID, M} <- get_manifest(RiakcPid, Bucket, Key)].
  
  print_gc_manifest_summary(_RiakcPid, _Key, _SiblingNo, header) ->
      io:format("~-32..=s: ~-8..=s ~-16..=s ~-32..=s ~-16..=s ~-32..=s~n",
  
negative.code:             end
      end.
  
  show_block(_, undefined, _, _) ->
      usage(block, show),
      halt(1);
  show_block(_, _, undefined, _) ->
      usage(block, show),
      halt(1);
  show_block(_, _, _, undefined) ->
      usage(block, show),
      halt(1);
  show_block(RiakcPid, Bucket, UUIDHexFull, SeqStr) ->
      Seq = list_to_integer(SeqStr),
      Key = undefined, % The key of riak-cs object. Not needed currently.
  