code: public static void computeInfluentialBounds (Rectangle visibleBounds,
          Rectangle influentualBounds, Rectangle visibleBlockBounds)
      {
          int infborx = 3 * visibleBounds.width / 4;
          int infbory = visibleBounds.height / 2;
          // we go extra on the height because objects below can influence fairly high up
          influentualBounds.setBounds(visibleBounds.x - infborx, visibleBounds.y - infbory,
              visibleBounds.width + 2 * infborx, visibleBounds.height + 3 * infbory);
          visibleBlockBounds.setBounds(visibleBounds.x - visibleBounds.width / 4,
              visibleBounds.y, visibleBounds.width + visibleBounds.width / 2,
              visibleBounds.height + infbory);
      }
docs: Configures <code>influentialBounds</code> to contain the bounds of the potentially
  "influential" world and <code>visibleBlockBounds</code> to contain bounds that are used
  to determine which blocks should be resolved before making the view visible.
  
  <p>Everything that intersects the influential area will be resolved on the expectation
  that it could be scrolled into view at any time. The influential bounds should be large
  enough that the time between a block becoming influential and the time at which it is
  resolved is longer than the expected time by which it will be scrolled into view, otherwise
  the users will see the man behind the curtain.