@Override
 public <ArgumentType> void addParentDataTypeArguments(
     final IArgumentContext<ArgumentType> context) {
   final IBindingDataType pDataType = getParentDataType();
   if (pDataType != null) {
     pDataType.addArguments(context);
   }
 }
 @Override
 public <ArgumentType> void addSuperDataTypeArguments(
     final IArgumentContext<ArgumentType> context) {
   final IBindingDataType[] superTypes = IBindingDataType.Factory.getSuperTypes(this);
   for (final IBindingDataType dt : superTypes) {
     if (dt == this) {
       continue;
     }
     dt.addArguments(context);
     if (context.isResultFound()) return;
   }
 }