public void Merge(Portfolio pleft, Portfolio pright, double wgt)
	{
		Collections.sort(pleft.pwlist,CINDEX);
		Collections.sort(pright.pwlist,CINDEX);
		
		int i = 0;
		int j = 0;
				
		Vector<PortWeight> newplist = new Vector<PortWeight>();
		
		while (i < pleft.pwlist.size() && j < pright.pwlist.size())
		{
			PortWeight mypw = pleft.pwlist.get(i);
			PortWeight p2pw = pright.pwlist.get(j);

			if (mypw.index == p2pw.index)
			{
				newplist.add(new PortWeight(mypw.name, mypw.index, (mypw.weight * wgt) + (p2pw.weight * (1 - wgt))));
				i++;
				j++;
			}
			else if (mypw.index > p2pw.index)
			{
				newplist.add(new PortWeight(p2pw.name, p2pw.index,p2pw.weight * (1 - wgt)));
				j++;
			}
			else if (p2pw.index > mypw.index)
			{
				newplist.add(new PortWeight(mypw.name, mypw.index,mypw.weight * wgt));
				i++;
			}
		}
		while (i < pleft.pwlist.size())
		{

			PortWeight mypw = pleft.pwlist.get(i);
			newplist.add(new PortWeight(mypw.name, mypw.index,mypw.weight * wgt));
			i++;
		}
		while (j < pright.pwlist.size())
		{
			PortWeight p2pw = pright.pwlist.get(j);
			newplist.add(new PortWeight(p2pw.name, p2pw.index,p2pw.weight * (1 - wgt)));
			j++;
		}
		
		pwlist = newplist;
		
	}