@Nonnull
  public EChange removeAll ()
  {
    EChange ret = EChange.UNCHANGED;
    m_aRWLock.writeLock ().lock ();
    try
    {
      if (m_aMap.isNotEmpty ())
      {
        ret = EChange.CHANGED;
        for (final IValidationExecutorSet aVES : m_aMap.values ())
          if (aVES instanceof ValidationExecutorSet)
            ((ValidationExecutorSet) aVES).removeAllExecutors ();
        m_aMap.clear ();
      }
    }
    finally
    {
      m_aRWLock.writeLock ().unlock ();
    }
    return ret;
  }
@ Nonnull public EChange removeAll ( ) { EChange ret = EChange . UNCHANGED ; m_aRWLock . writeLock ( ) . lock ( ) ; try { if ( m_aMap . isNotEmpty ( ) ) { ret = EChange . CHANGED ; for ( final IValidationExecutorSet aVES : m_aMap . values ( ) ) if ( aVES instanceof ValidationExecutorSet ) ( ( ValidationExecutorSet ) aVES ) . removeAllExecutors ( ) ; m_aMap . clear ( ) ; } } finally { m_aRWLock . writeLock ( ) . unlock ( ) ; } return ret ; }
This is a cleanup method that frees all resources when they are no longer
needed. This may be helpful because some {@link IValidationExecutor}
implementations contained in the {@link IValidationExecutorSet} contained
in this registry might have strong references to {@link ClassLoader}
instances. By calling this method, you can clear the contained map and
invoke {@link ValidationExecutorSet#removeAllExecutors()} if applicable.

@return {@link EChange}