anchor.diff:  
   %% @doc Determine if a bucket is exists and is available
   %% for creation or deletion by the inquiring user.
  --spec bucket_available(binary(), fun(), atom(), pid()) -> true | {false, atom()}.
  +-spec bucket_available(binary(), fun(), atom(), pid()) -> {true, term()} | {false, atom()}.
   bucket_available(Bucket, RequesterId, BucketOp, RiakPid) ->
       case riakc_pb_socket:get(RiakPid, ?BUCKETS_BUCKET, Bucket) of
           {ok, BucketObj} ->
  
positive.code:                         delete ->
                              Value = ?FREE_BUCKET_MARKER
                      end,
                      Res = put_bucket(Bucket, Value, Acl, RiakPid);
                  {false, Reason1} ->
                      Res = {error, Reason1}
              end,
  
negative.code:                 BucketOp == create)
                  orelse
                  BucketOp == update_acl ->
                      {true, BucketObj};
                  OwnerId == RequesterId andalso
                  BucketOp == delete ->
                      case bucket_empty(Bucket, RiakPid) of
                          true ->
                              {true, BucketObj};
                          false ->
                              {false, bucket_not_empty}
                      end;
  