class Data implements Parcelable {

	@Nullable
	public Long getLongValue(@LongFormat final int formatType,
							 @IntRange(from = 0) final int offset) {
		if ((offset + getTypeLen(formatType)) > size()) return null;

		switch (formatType) {
			case FORMAT_SINT32:
				return unsignedToSigned(unsignedBytesToLong(mValue[offset],
						mValue[offset + 1], mValue[offset + 2], mValue[offset + 3]), 32);

			case FORMAT_UINT32:
				return unsignedBytesToLong(mValue[offset], mValue[offset + 1],
						mValue[offset + 2], mValue[offset + 3]);
		}

		return null;
	}

	public  Data();
	public  Data(@Nullable final byte[] value);
	protected  Data(final Parcel in);

}