   canSuper message2group message
 
 @amAuthor = (message, user = Meteor.user()) ->
-  message = Messages.findOne message unless message._id?
+  message = findMessage message
   return false unless user?.username
   escapeUser(user.username) of (message.authors ? {}) or
   0 <= message.body.search ///@#{user.username}\b///
 
 @canPrivate = (message) ->
-  message = Messages.findOne message unless message._id?
+  message = findMessage message
   if canSuper message.group
     ## Superuser can always change private flag
     true

  .count()

_submessageLastUpdate = (root) ->
  root = Messages.findOne root unless root._id?
  return null unless root?
  updated = root.updated
  Messages.find

  ## above, so we don't need to check this in the client.  But this function
  ## is still needed in the server for messages.diff subscription above,
  ## and when simulating non-superuser mode in client/message.coffee.
  message = findMessage message
  return false unless message?
  group = message.group #message2group message
  if canSuper group, client, user #groupRoleCheck group, 'super', user
