code: private static long findUniqueValue(CharSequence chars, int pos, long uniqueValue) {
          int node=chars.charAt(pos++);
          for(;;) {
              if(node<kMinLinearMatch) {
                  if(node==0) {
                      node=chars.charAt(pos++);
                  }
                  uniqueValue=findUniqueValueFromBranch(chars, pos, node+1, uniqueValue);
                  if(uniqueValue==0) {
                      return 0;
                  }
                  pos=(int)(uniqueValue>>>33);
                  node=chars.charAt(pos++);
              } else if(node<kMinValueLead) {
                  // linear-match node
                  pos+=node-kMinLinearMatch+1;  // Ignore the match units.
                  node=chars.charAt(pos++);
              } else {
                  boolean isFinal=(node&kValueIsFinal)!=0;
                  int value;
                  if(isFinal) {
                      value=readValue(chars, pos, node&0x7fff);
                  } else {
                      value=readNodeValue(chars, pos, node);
                  }
                  if(uniqueValue!=0) {
                      if(value!=(int)(uniqueValue>>1)) {
                          return 0;
                      }
                  } else {
                      uniqueValue=((long)value<<1)|1;
                  }
                  if(isFinal) {
                      return uniqueValue;
                  }
                  pos=skipNodeValue(pos, node);
                  node&=kNodeTypeMask;
              }
          }
      }
docs: Otherwise, uniqueValue is 0. Bits 63..33 are ignored.