/**
  * This method is called when the SceneGraph becomes live. All characters used by this.string are
  * tesselated in this method, to avoid wait during traversal and rendering.
  */
 @Override
 void setLive(boolean inBackgroundGroup, int refCount) {
   // Tesselate all character data and update character transforms
   updateCharacterData();
   super.doSetLive(inBackgroundGroup, refCount);
   super.markAsLive();
 }
  @Override
  void setLive(boolean inBackgroundGroup, int refCount) {
    super.doSetLive(inBackgroundGroup, refCount);
    if (texture != null) {
      texture.setLive(inBackgroundGroup, refCount);
    }
    if (depthComponent != null) {
      depthComponent.setLive(inBackgroundGroup, refCount);
    }
    isEditable =
        source.getCapability(Raster.ALLOW_OFFSET_WRITE)
            || source.getCapability(Raster.ALLOW_POSITION_WRITE)
            || ((type & Raster.RASTER_COLOR) != 0 && source.getCapability(Raster.ALLOW_IMAGE_WRITE))
            || ((type & Raster.RASTER_DEPTH) != 0
                && source.getCapability(Raster.ALLOW_DEPTH_COMPONENT_WRITE))
            || source.getCapability(Raster.ALLOW_SIZE_WRITE);

    super.markAsLive();
  }