List<ByteBuffer> shared_files_data = new LinkedList<ByteBuffer>();
for(SharedFile sFile : sharedFiles) {
TagList tag_list = sFile.getTagList();
int tag_list_size = tag_list.getByteSize();
ByteBuffer buffer = Misc.getByteBuffer(16 + 4 + 2 + 4 + tag_list_size);
data_length += buffer.limit();
buffer.position(0);
buffer.put(sFile.getFileHash().getHash());
if (userID.isHighID()) {
buffer.put(userID.getClientID());
buffer.putShort((short)ConfigurationManagerSingleton.getInstance().getTCP());