@Override
    protected final int getSurrogateOffset(char lead, char trail)
    {
        if (m_dataManipulate_ == null) {
            throw new NullPointerException(
                             "The field DataManipulate in this Trie is null");
        }

        // get fold position for the next trail surrogate
        int offset = m_dataManipulate_.getFoldingOffset(getLeadValue(lead));

        // get the real data from the folded lead/trail units
        if (offset > 0) {
            return getRawOffset(offset, (char)(trail & SURROGATE_MASK_));
        }

        // return -1 if there is an error, in this case we return the default
        // value: m_initialValue_
        return -1;
    }
@ Override protected final int getSurrogateOffset ( char lead , char trail ) { if ( m_dataManipulate_ == null ) { throw new NullPointerException ( "The field DataManipulate in this Trie is null" ) ; } int offset = m_dataManipulate_ . getFoldingOffset ( getLeadValue ( lead ) ) ; if ( offset > 0 ) { return getRawOffset ( offset , ( char ) ( trail & SURROGATE_MASK_ ) ) ; } return - 1 ; }
Gets the offset to the data which the surrogate pair points to.
@param lead lead surrogate
@param trail trailing surrogate
@return offset to data