@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;
    }
@ Override public Viewport getViewport ( ) { final Node < ? > parent = getParent ( ) ; if ( null != parent ) { return parent . getViewport ( ) ; } return null ; }
Returns the Viewport that this Node is on.