}
public boolean onCreate(ModelRuleDescriptor creatorDescriptor, ModelPath path, ModelPromise promise) {
if (boundTo != null && isTypeCompatible(promise)) {
throw new InvalidModelRuleException(descriptor, new ModelRuleBindingException(
new AmbiguousBindingReporter(reference, boundTo, boundToCreator, path, creatorDescriptor).asString()
));
} else if (reference.getPath() == null) {
boolean typeCompatible = isTypeCompatible(promise);
if (typeCompatible) {
bindAction.execute(path);