protected String getDataType()
    {
        int offset = getOffsetInDataHeaderForDataName();
        int maxLength = getDataNameMaxLength();
        int nameLength = 0;
        
        // skip first 0
        while ( (0 != dataHeader[offset + nameLength]) && (nameLength < maxLength) )
        nameLength++;
                
        if (nameLength >= maxLength)  return null;

        int typeLength = nameLength + 1;
                
        while ( (0 != dataHeader[offset + typeLength]) && (typeLength < maxLength) )
            typeLength++;
                
        if (typeLength >= maxLength)  return null;

        if ((offset + nameLength + 1) == typeLength)  return null;
        
        return new String(dataHeader, offset + nameLength + 1, typeLength - (offset + nameLength + 1));
    }