public static Domain createDomain(final Configuration configuration) throws IllegalArgumentException {
        if (configuration == null) {
            throw new IllegalArgumentException("configuration must be supplied");
        }
        return new Domain(configuration);
    }
public static Domain createDomain ( final Configuration configuration ) throws IllegalArgumentException { if ( configuration == null ) { throw new IllegalArgumentException ( "configuration must be supplied" ) ; } return new Domain ( configuration ) ; }
Creates a new {@link Domain} containing configuration properties from the supplied {@link Configuration}.
{@link ArchiveFactory}s created from this domain will have isolated configuration from archive factories created
from other domains. Likewise, all {@link ArchiveFactory}s and {@link Archive}s created from the returned domain
will share the same configuration.

@param configuration
{@link Configuration} for this {@link Domain}
@return A new {@link Domain} with default configuration
@throws IllegalArgumentException
If the configuration is not supplied