code: @Nonnull
    private ESuccess _perform (@Nonnull final List <DATATYPE> aObjectsToPerform)
    {
      if (!aObjectsToPerform.isEmpty ())
      {
        try
        {
          // Perform the action on the objects, regardless of whether a
          // "stop queue message" was received or not
          m_aPerformer.runAsync (aObjectsToPerform);
        }
        catch (final Exception ex)
        {
          LOGGER.error ("Failed to perform actions on " +
                        aObjectsToPerform.size () +
                        " objects with performer " +
                        m_aPerformer +
                        " - objects are lost!",
                        ex);
          return ESuccess.FAILURE;
        }
  
        // clear perform-list anyway
        aObjectsToPerform.clear ();
      }
  
      return ESuccess.SUCCESS;
    }
docs: Internal method to invoke the performed for the passed list of objects.
  
  @param aObjectsToPerform
  List of objects to be passed to the performer. Never
  <code>null</code>. The length is at last
  {@link #getMaxPerformCount()}.
  @return {@link ESuccess}