private bool TryGetZ(PointLane <Vector3> lane, Vector3 key, out T t) { //search down the z lane for the coordianate Vector3 v; if (lane.TryGet(key.z, out v)) { t = mapping[v]; return(true); } t = default(T); return(false); }