code: 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);
      }
docs: Only for system usage, don't call it!