code: T unsafeGetIfOpened() {
  
          if (innerObject != null && innerObject.getState() == IOObject.IOObjectState.OPENED) {
              return innerObject;
          }
          return null;
      }
docs: should be invoked from reactor thread