public static List<ABObject> getAllSupporter (List<ABObject> objs,List<ABObject> ob)
	{
		List<ABObject> result = new LinkedList<ABObject>();
		try 
		{			
			for (int i = 0; i < objs.size(); i++)
			{
				List<ABObject> temp = getSupporters (objs.get(i), ob, objs.get(i).depth + 1);
				if (!result.containsAll(temp))
					result.addAll(temp);
				System.out.println("Call supporter of " + objs.get(i).id);
				List<ABObject> recursive = getAllSupporter (temp, ob);
				if (!result.containsAll(recursive))
					result.addAll(recursive);
			}
			//System.out.println(result.size());
			return result;
		}
		catch (StackOverflowError e)
		{
			return result;
		}
	}