public IGenerator Build(ValueRequest request)
 {
     var type = request.Accessor() == null ? request.Type : request.Accessor().PropertyType;
     return _generators[type];
 }
 public bool Matches(ValueRequest request)
 {
     var isEntity = request.Type.Namespace.StartsWith(typeof (EntityMarker).Namespace);
     var isPropertyRequest = request.Accessor() != null;
     return isEntity && !isPropertyRequest &&
             request
                 .Type
                 .GetConstructors(BindingFlags.Public | BindingFlags.Instance)
                 .Length
                 .Equals(0);
 }