@Override
  public synchronized void dispose() {
    if (presentation != null) presentation.removePropertyChangeListener(this);
    presentation = null;

    if (nativePeer != 0) {
      nativeDispose(nativePeer);
      nativePeer = 0;
    }
  }
@Override
  public synchronized void dispose()