code: public C placeStartFromEnd(int itemIndex, double startOffEnd) {
          C cell = getSizedCell(itemIndex);
          double y = sizeTracker.getViewportLength() + startOffEnd;
          relocate(cell, 0, y);
          cell.getNode().setVisible(true);
          return cell;
      }
docs: Properly resizes the cell's node, and sets its "layoutY" value, so that is the last visible
  node in the viewport, and further offsets this value by {@code endOffStart}, so that
  the node's <em>bottom</em> edge appears (if negative) "above," (if 0) "at," or (if negative) "below" the
  viewport's "top" edge. See {@link OrientationHelper}'s javadoc for more explanation on what quoted terms mean.
  
  <pre><code>
  --------- bottom of cell's node if startOffStart is negative
  
  __________ "top edge" of viewport / bottom of cell's node if startOffStart = 0
  |
  |
  |--------- bottom of cell's node if startOffStart is positive
  |
  </code></pre>
  
  @param itemIndex the index of the item in the list of all (not currently visible) cells
  @param startOffEnd the amount by which to offset the "layoutY" value of the cell's node