public boolean accepts(/*@NonNull*/ EClass eClass) {
   assert eClass != null;
   // If eClass conformsTo requiredType every candidate will be type-compatible
   // If requiredType conformsTo eClass some candidates may be type-compatible
   // else no candidates can be type-compatible
   return (name == null)
       || PivotUtil.conformsTo(requiredType, eClass)
       || ((requiredType != null) && PivotUtil.conformsTo(eClass, requiredType));
 }
 public void setRequiredType(@Nullable EClassifier requiredType) {
   assert (requiredType == null) || PivotUtil.conformsTo(reference.getEType(), requiredType);
   this.requiredType = requiredType;
 }