_remoteKeys = new Lazy<IDictionary<string, RemoteKeyAttribute>>(() => properties
.Select(p => new
{
Name = p.Name,
RemoteKey = p.GetCustomAttributes(typeof(RemoteKeyAttribute), true).SingleOrDefault() as RemoteKeyAttribute
})
.Where(k => k.RemoteKey != null)
.ToDictionary(k => k.Name, k => k.RemoteKey));