class LifeSupport implements Lifecycle {

    public synchronized <T extends Lifecycle> T setLast( T instance )
    {
        if ( last != null )
        {
            throw new IllegalStateException(
                    format( "Lifecycle supports only one last component. Already defined component: %s, new component: %s", last, instance ) );
        }
        last = addNewComponent( instance );
        return instance;
    }

    public  LifeSupport();

}