function [dataWithAtt, totalAttNum] = CombineDataWithAttributes3(data, attData, attWeight)

totalAttNum = size(attData,2);
sizeWithAtt = totalAttNum + size(data,1);
dataWithAtt = sparse(sizeWithAtt, sizeWithAtt);
dataWithAtt(totalAttNum+1:end,totalAttNum+1:end) = data;

dataLines = size(data,1);
attLines = size(attData,1);
if (attLines ~= dataLines)
        fprintf('CombineDataWithAttributes - Invalid data sizes: data %d, attributes %d\n',dataLines,attLines);
end

% Sigal 1.3.13: normalizeWeight
% make sure that ratio att/link is same w/1-w
if attWeight < 1 && attWeight >= 0
    normalizeWeight = attWeight/(1-attWeight);
else
    normalizeWeight = 1;
end
for line=1:dataLines
    nnzAtt = find(attData(line,:));
    for att = nnzAtt
        dataWithAtt(totalAttNum+line,att)=normalizeWeight;
        dataWithAtt(att,totalAttNum+line)=normalizeWeight;
    end
end
    
dataWithAtt = sparse(dataWithAtt);

