mil.dod.th.ose.core/src/mil/dod/th/ose/core/impl/asset/AssetImpl.java
@Override
    public synchronized Thread internalDeactivate(final AssetActivationListener[] listeners)
    {
        if (getActiveStatus() != AssetActiveStatus.ACTIVATED)
        {
            throw new IllegalStateException(
                    String.format("Asset %s has an Active Status of [%s], must be %s in order to Deactivate.",
                            getName(), getActiveStatus(), AssetActiveStatus.ACTIVATED));
        }

        setActiveStatus(AssetActiveStatus.DEACTIVATING);

        postEvent(TOPIC_WILL_BE_DEACTIVATED, null);

        // kick off thread to deactivate
        final Deactivator runnable = new Deactivator(this, listeners);
        final Thread thread = new Thread(runnable);
        thread.setName(getName() + " Deactivator");
        thread.start();
        return thread;
    }
/**
     * Common deactivate asset functionality used by an on demand deactivation and during deactivation of the directory
     * service component.
     * 
     * @param listeners
     *            Listeners for the deactivation
     * @return Thread that has the {@link Deactivator} running
     */
Common deactivate asset functionality used by an on demand deactivation and during deactivation of the directory
service component.

@param listeners
Listeners for the deactivation
@return Thread that has the  Deactivator running
Common deactivate asset functionality used by an on demand deactivation and during deactivation of the directory service component . @param listeners Listeners for the deactivation @return Thread that has the Deactivator running
@Override
    public synchronized Thread internalDeactivate(final AssetActivationListener[] listeners)
    {
        if (getActiveStatus() != AssetActiveStatus.ACTIVATED)
        {
            throw new IllegalStateException(
                    String.format("Asset %s has an Active Status of [%s], must be %s in order to Deactivate.",
                            getName(), getActiveStatus(), AssetActiveStatus.ACTIVATED));
        }
        setActiveStatus(AssetActiveStatus.DEACTIVATING);
        postEvent(TOPIC_WILL_BE_DEACTIVATED, null);
        final Deactivator runnable = new Deactivator(this, listeners);
        final Thread thread = new Thread(runnable);
        thread.setName(getName() + " Deactivator");
        thread.start();
        return thread;
    }
@ Override public synchronized Thread internalDeactivate ( final AssetActivationListener [ ] listeners ) { if ( getActiveStatus ( ) != AssetActiveStatus . ACTIVATED ) { throw new IllegalStateException ( String . format ( "Asset %s has an Active Status of [%s], must be %s in order to Deactivate." , getName ( ) , getActiveStatus ( ) , AssetActiveStatus . ACTIVATED ) ) ; } setActiveStatus ( AssetActiveStatus . DEACTIVATING ) ; postEvent ( TOPIC_WILL_BE_DEACTIVATED , null ) ; final Deactivator runnable = new Deactivator ( this , listeners ) ; final Thread thread = new Thread ( runnable ) ; thread . setName ( getName ( ) + " Deactivator" ) ; thread . start ( ) ; return thread ; }
Common deactivate asset functionality used by an on demand deactivation and during deactivation of the directory
 service component.
Common deactivate asset functionality used by an on demand deactivation and during deactivation of the directory service component .
// kick off thread to deactivate