private void setData(OMMData data)
    {
        switch (data.getType())
        {
            case OMMTypes.ARRAY:
            {
                setArray((OMMArray)data);
            }
                break;
            case OMMTypes.RMTES_STRING:
            {
                OMMDataBuffer db = (OMMDataBuffer)data;
                if (db.hasPartialUpdates())
                {
                    Iterator<?> iter = ((OMMDataBuffer)data).partialUpdateIterator();
                    StringBuilder newValue = new StringBuilder(getStringValue().length());
                    newValue.append(getStringValue());
                    while (iter.hasNext())
                    {
                        OMMDataBuffer partial = (OMMDataBuffer)iter.next();
                        String partialString = partial.toString();
                        int hpos = partial.horizontalPosition();
                        int end = hpos + partialString.length();
                        newValue.replace(hpos, end, partialString);
                    }
                    _value = newValue.toString();
                }
                else
                {
                    _value = data.toString();
                }
            }
                break;
            default:
            {
                if (OMMTypes.isDataFormat(data.getType()))
                {
                    // not supported yet
                }
                else
                {
                    _value = data.toString();
                }
            }
        }
        setFade();
    }