@Nonnull
  public final ConcurrentCollectorSingle <DATATYPE> setPerformer (@Nonnull final IConcurrentPerformer <DATATYPE> aPerformer)
  {
    if (m_aPerformer != null)
      throw new IllegalStateException ("Another performer is already set!");
    m_aPerformer = ValueEnforcer.notNull (aPerformer, "Performer");
    return this;
  }
@ Nonnull public final ConcurrentCollectorSingle < DATATYPE > setPerformer ( @ Nonnull final IConcurrentPerformer < DATATYPE > aPerformer ) { if ( m_aPerformer != null ) throw new IllegalStateException ( "Another performer is already set!" ) ; m_aPerformer = ValueEnforcer . notNull ( aPerformer , "Performer" ) ; return this ; }
Set the performer to be used. This method must be invoked before the
collector can be run. The passed implementation must be rock-solid as this
class will not make any retries. If the passed performer throws and
exception without handling the objects correct the objects will be lost!

@param aPerformer
The performer to be used. May not be <code>null</code>.
@return this for chaining
@throws IllegalStateException
If another performer is already present!