resolve() {
        // Don't check for paired tunnels' value if already checked by another paired tunnel (O(n))
        if (this.checked) {
            this.checked = false;
            return;
        }
        // Check for bitwidth error since it bypasses node's resolve() function which usually checks bitwidths
        for (const tunnel of this.scope.tunnelList[this.identifier]) {
            if (tunnel.inp1.bitWidth !== this.inp1.bitWidth) {
                this.inp1.highlighted = true;
                tunnel.inp1.highlighted = true;
                showError(`BitWidth Error: ${this.inp1.bitWidth} and ${tunnel.inp1.bitWidth}`);
            }
            if (tunnel.inp1.value !== this.inp1.value) {
                tunnel.inp1.value = this.inp1.value;
                simulationArea.simulationQueue.add(tunnel.inp1);
            }
            if (tunnel !== this) tunnel.checked = true;
        }
    }
@memberof Tunnel
resolve output values based on inputData