Instead of reject(...), just do what we do in the missing blob case below:

  throw new MissingObjectException(c, Constants.TYPE_COMMIT);

The caller is required to catch and handle this by reporting errors already.  So you don't need to add your own reject method below.