private void assertCurrentResolverIsManaged() {
   assert !configuration.isConfigured(slot)
           || configuration.getResolver(slot) instanceof ManagedVisualItemValueResolver
       : "resolver for " + slot + " must be managed";
 }
 // TODO this should be a one liner
 public boolean inValidState(LightweightCollection<VisualItem> currentVisualItems) {
   return !errorsInModel()
       && configuration.getResolver(slot) != null
       && isAllowableResolver(configuration.getResolver(slot), currentVisualItems);
 }
 public void setResolver(ManagedVisualItemValueResolver resolver) {
   configuration.setResolver(slot, resolver);
 }
 /** @return The current @link{VisualItemValueResolver} */
 public ManagedVisualItemValueResolver getCurrentResolver() {
   assertCurrentResolverIsManaged();
   return (ManagedVisualItemValueResolver) configuration.getResolver(slot);
 }