code: private void updateNeigbor(Collection<Tile> resolved,
                                 Collection<Tile> toResolve,
                                 Tile tile,
                                 Tile neighbor,
                                 int ox,
                                 int oy)
      {
          final String group = mapGroup.getGroup(tile);
          final String neighborGroup = mapGroup.getGroup(neighbor);
  
          final Transition transitionA = getTransition(tile, neighborGroup);
          final Transition transitionB = getTransition(neighbor, group);
  
          if (transitionA != null && transitionB != null)
          {
              final TransitionType transitionTypeA = transitionA.getType();
              final TransitionType transitionTypeB = transitionB.getType();
  
              final TransitionType newType = getTransition(transitionTypeA, transitionTypeB, ox, oy);
              if (newType != null)
              {
                  final Transition newTransition = new Transition(newType, transitionA.getOut(), transitionB.getIn());
                  updateTransition(resolved, toResolve, tile, neighbor, neighborGroup, newTransition);
              }
          }
      }
docs: Update neighbor.
  
  @param resolved The resolved tiles.
  @param toResolve Tiles to resolve after.
  @param tile The tile reference.
  @param neighbor The neighbor reference.
  @param ox The horizontal offset to update.
  @param oy The vertical offset to update.