public boolean equals(final Object o){
	if(this == o)
		{
		return true;
		}
	if(!(o instanceof Type))
		{
		return false;
		}
	Type t = (Type) o;
	if(sort != t.sort)
		{
		return false;
		}
	if(sort == Type.OBJECT || sort == Type.ARRAY)
		{
		if(len != t.len)
			{
			return false;
			}
		for(int i = off, j = t.off, end = i + len; i < end; i++, j++)
			{
			if(buf[i] != t.buf[j])
				{
				return false;
				}
			}
		}
	return true;
}