> - the static equals method might be very expensive
Only if the supertype arrays are large, not too likely in my mind. In any case also the existing supertype equality checks are expensive on large sets.
> - don't call equals(getSupertypes(), other.getSupertypes()), this is bad practice. rather call:
> NodeTypeDef.equals(getSupertypes(), other.getSupertypes()).
Good point, thanks.
> are you sure this covers all cases correctly? if so, the nt:base errors in nodetype registry should be removed.
> i would prefer a proper nt:base check and automatic addition in the registry.
Pretty much, yes. I first started with changing the nodetype registry, but it felt more natural to change NodeTypeDef. I'll make an alternative patch for just the nodetype registry for comparison.