public Object make(HGPersistentHandle handle,
			LazyRef<HGHandle[]> targetSet, IncidenceSetRef incidenceSet)
	{		
		HGPersistentHandle[] layout = graph.getStore().getLink(handle);
		Pair<?,?> result = (Pair<?,?>)TypeUtils.getValueFor(graph, handle);
		if (result != null)
			return result;
		Object first = null, second = null;
		if (!layout[0].equals(graph.getHandleFactory().nullHandle()))
		{
			HGAtomType type = graph.getTypeSystem().getType(layout[0]);
			first = TypeUtils.makeValue(graph, layout[1], type);			
		}
		if (!layout[2].equals(graph.getHandleFactory().nullHandle()))
		{
			HGAtomType type = graph.getTypeSystem().getType(layout[2]);
			//2012.01.24 hilpold BUGFIX old: first = TypeUtils.makeValue(graph, layout[3], type);			
			second = TypeUtils.makeValue(graph, layout[3], type);
		}		
		result = new Pair<Object,Object>(first, second);
		return result;
	}