code: public void insert(float[] coords, int entry)
    {
      Preconditions.checkArgument(coords.length == numDims);
      insertInner(new Point(coords, entry, bitmapFactory));
    }
docs: This description is from the original paper.
  
  Algorithm Insert: Insert a new index entry E into an R-tree.
  
  I1. [Find position for new record]. Invoke {@link #chooseLeaf(Node, Point)} to select
  a leaf node L in which to place E.
  
  I2. [Add records to leaf node]. If L has room for another entry, install E. Otherwise invoke
  {@link SplitStrategy} split methods to obtain L and LL containing E and all the old entries of L.
  
  I3. [Propagate changes upward]. Invoke {@link #adjustTree(Node, Node)} on L, also passing LL if a split was
  performed.
  
  I4. [Grow tree taller]. If node split propagation caused the root to split, create a new record whose
  children are the two resulting nodes.
  
  @param coords - the coordinates of the entry
  @param entry  - the integer to insert