public void disable(Capability c){
  if (doNotCheckCapabilities()) {
    return;
  }
  if (c == Capability.NOMINAL_ATTRIBUTES) {
    disable(Capability.BINARY_ATTRIBUTES);
  }
 else   if (c == Capability.BINARY_ATTRIBUTES) {
    disable(Capability.UNARY_ATTRIBUTES);
  }
 else   if (c == Capability.UNARY_ATTRIBUTES) {
    disable(Capability.EMPTY_NOMINAL_ATTRIBUTES);
  }
 else   if (c == Capability.NOMINAL_CLASS) {
    disable(Capability.BINARY_CLASS);
  }
 else   if (c == Capability.BINARY_CLASS) {
    disable(Capability.UNARY_CLASS);
  }
 else   if (c == Capability.UNARY_CLASS) {
    disable(Capability.EMPTY_NOMINAL_CLASS);
  }
  m_Capabilities.remove(c);
}

public void disable ( Capability c ) { if ( doNotCheckCapabilities ( ) ) { return ; } if ( c == Capability . NOMINAL_ATTRIBUTES ) { disable ( Capability . BINARY_ATTRIBUTES ) ; } else if ( c == Capability . BINARY_ATTRIBUTES ) { disable ( Capability . UNARY_ATTRIBUTES ) ; } else if ( c == Capability . UNARY_ATTRIBUTES ) { disable ( Capability . EMPTY_NOMINAL_ATTRIBUTES ) ; } else if ( c == Capability . NOMINAL_CLASS ) { disable ( Capability . BINARY_CLASS ) ; } else if ( c == Capability . BINARY_CLASS ) { disable ( Capability . UNARY_CLASS ) ; } else if ( c == Capability . UNARY_CLASS ) { disable ( Capability . EMPTY_NOMINAL_CLASS ) ; } m_Capabilities . remove ( c ) ; }
disables the given capability disabling nominal_attributes also disables binary_attributes , unary_attributes and empty_nominal_attributes . disabling binary_attributes also disables unary_attributes and empty_nominal_attributes . disabling unary_attributes also disables empty_nominal_attributes . the same hierarchy applies to the class capabilities .
