public void endLocal(int address, RegisterSpec endedLocal, Disposition disposition) {
      if (DEBUG) {
        System.err.printf("%04x end %s\n", address, endedLocal);
      }

      int regNum = endedLocal.getReg();

      endedLocal = filterSpec(endedLocal);
      aboutToProcess(address, regNum);

      int endAt = endIndices[regNum];

      if (endAt >= 0) {
        /*
         * The local in the given register is already ended.
         * Silently return without adding anything to the result.
         */
        return;
      }

      // Check for start and end at the same address.
      if (checkForEmptyRange(address, endedLocal)) {
        return;
      }

      add(address, disposition, endedLocal);
    }
Ends a local at the given address.

@param address {@code >= 0;} the address
@param endedLocal {@code non-null;} spec representing the local being ended
@param disposition reason for the end
android/android_framework/dex-maker/src/main/java/com/android/dx/dex/code/LocalList.java