private int internalNonPositiveInfinityCompareTo(ResultNode rhs) {
        // Note: this may not necessarily be well-defined _semantically_ unless rhs is
        // also a StringResultNode. The C++ implementation explicitly expects rhs to be
        // such an instance, but this depends on a classId check that is _not_ done in
        // the Java implementation...
        // We use getString() instead of getRaw() to support implicit stringification
        // (legacy Java implementation behavior), but it's not given that this is always
        // the desired outcome.
        var rhsAsUtf8 = (rhs instanceof StringResultNode)
                        ? ((StringResultNode)rhs).utf8Value
                        : Utf8.toBytes(rhs.getString());
        return Arrays.compareUnsigned(utf8Value, rhsAsUtf8);
    }
Sets the value of this result.

@param value The value to set.
@return This, to allow chaining.
searchlib/src/main/java/com/yahoo/searchlib/expression/StringResultNode.java