code: @Override
      public Viewport getViewport()
      {
          final Node<?> parent = getParent();// change, no iteration, no testing, no casting, recurses upwards to a Viewport, and Viewport returns itself, CYCLES!!!
  
          if (null != parent)
          {
              return parent.getViewport();
          }
          return null;
      }
docs: Returns the Viewport that this Node is on.