public void setViewport(Viewport _viewport) {
   if (_viewport != null) { // disconnect from old viewport
     _viewport.setContainer(null);
   }
   mViewport = _viewport;
   if (mViewport != null) { // connect to new Satellite
     mViewport.setContainer(this);
     // resize to show entire view of satellite
     Dimension size = mViewport.getPreferredSize();
     setViewportSize(size);
     // resize the window to fit the image
     setSize(
         size.width + getInsets().left + getInsets().right + 2 * INSET,
         size.height + getInsets().top + getInsets().bottom + 2 * INSET);
   }
 }