anchor.diff:  
             if (pts != null) {
               if (pointIndex <= pts.length) {
  -              pts.set(pointIndex - 1, point);
  +              pts[pointIndex - 1] = point;
               } else if (pointIndex - 1 <= pts.length) {
  -              pts.add(pointIndex - 1, point);
  +              pts.insert(pointIndex - 1, point);
               }
             }
           }
  
positive.code: 
  class EdgeHandlerCellMarker extends CellMarker {
  
    final mxEdgeHandler edgeHandler;
  
    EdgeHandlerCellMarker(EdgeHandler mxEdgeHandler, GraphComponent graphComponent) : super(graphComponent) {
      edgeHandler = mxEdgeHandler;
    }
  
    // Only returns edges if they are connectable and never returns
    // the edge that is currently being modified
    Object getCell(MouseEvent e) {
      mxGraph graph = graphComponent.getGraph();
      mxIGraphModel model = graph.getModel();
      Object cell = super.getCell(e);
  
      if (cell == edgeHandler.state.getCell() || (!graph.isConnectableEdges() && model.isEdge(cell))) {
        cell = null;
      }
  
  
negative.code:       IGraphModel model = graph.getModel();
        Object terminal = model.getTerminal(_state.getCell(), source);
  
        if ((terminal == null && !graph.isTerminalPointMovable(_state.getCell(), source)) || (terminal != null && !graph.isCellDisconnectable(_state.getCell(), terminal, source))) {
          _first = null;
        }
      }
  