public final void attach(T object, IAddon parent) {
        if (mObject != null || object == null || mParent != null || parent == null) {
            throw new IllegalStateException();
        }
        mParent = parent;
        onAttach(mObject = object);
    }
public final void attach ( T object , IAddon parent ) { if ( mObject != null || object == null || mParent != null || parent == null ) { throw new IllegalStateException ( ) ; } mParent = parent ; onAttach ( mObject = object ) ; }
Only for system usage, don't call it!