code: public void insertPointAfter( PolygonPoint a, PolygonPoint newPoint )
      {
          // Validate that 
          int index = _points.indexOf( a );
          if( index != -1 )
          {
              newPoint.setNext( a.getNext() );
              newPoint.setPrevious( a );
              a.getNext().setPrevious( newPoint );
              a.setNext( newPoint );
              _points.add( index+1, newPoint );
          }
          else
          {
              throw new RuntimeException( "Tried to insert a point into a Polygon after a point not belonging to the Polygon" );
          }
      }
docs: Will insert a point in the polygon after given point