docs: public @CheckForNull Authentication authenticate(Queue.Task task) {
          if (Util.isOverridden(QueueItemAuthenticator.class, getClass(), "authenticate", Queue.Item.class)) {
              // Need a fake (unscheduled) item. All the other calls assume a BuildableItem but probably it does not matter.
              return authenticate(new Queue.WaitingItem(Calendar.getInstance(), task, Collections.<Action>emptyList()));
          } else {
              throw new AbstractMethodError("you must override at least one of the QueueItemAuthenticator.authenticate methods");
          }
      }