void releaseParent() {
   super.releaseParent();
   if (this == parent.getCaret()) parent.setCaret(null);
 }
 void createWidget() {
   createHandle();
   if (parent.getCaret() == null) {
     parent.setCaret(this);
   }
 }
 /**
  * Returns <code>true</code> if the receiver is visible and all of the receiver's ancestors are
  * visible and <code>false</code> otherwise.
  *
  * @return the receiver's visibility state
  * @exception SWTException
  *     <ul>
  *       <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  *       <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  *     </ul>
  *
  * @see #getVisible
  */
 public boolean isVisible() {
   checkWidget();
   return OS.UIElement_IsVisible(handle) && parent.isVisible() && hasFocus();
 }