concept BEAObject > ConceptWithGlobalID { toString { S type = type(); ret nempty(type) ? "[\*id*/] " + type : super.toString(); } S type() { ret getStringOpt type(this); } S typeFromClassName() { if (getClass() == BEAObject) null; ret dropPrefixOrNull("B", shortClassName(this)); } bool typeIs(S name) { ret eqic(type(), name) || eqic(typeFromClassName(), name); } }