public void initializeMainframeDescriptor() {
    MWTableDescriptor descriptor = getMainframeDescriptor();
    MWTable table = tableNamed("INH_COMP");
    descriptor.setPrimaryTable(table);

    descriptor.getCachingPolicy().setCacheType(MWCachingPolicy.CACHE_TYPE_FULL);

    // inheritance policy
    descriptor.addInheritancePolicy();
    MWRelationalDescriptorInheritancePolicy inheritancePolicy =
        (MWRelationalDescriptorInheritancePolicy) descriptor.getInheritancePolicy();
    inheritancePolicy.setReadSubclassesOnQuery(false);
    inheritancePolicy.setParentDescriptor(getComputerDescriptor());

    // afterload policy
    descriptor.addAfterLoadingPolicy();
    MWClass postLoadClass = descriptor.getMWClass();
    ((MWDescriptorAfterLoadingPolicy) descriptor.getAfterLoadingPolicy())
        .setPostLoadMethodClass(postLoadClass);
    ((MWDescriptorAfterLoadingPolicy) descriptor.getAfterLoadingPolicy())
        .setPostLoadMethod(methodNamed(postLoadClass, "addToDescriptor"));

    // multi-table info policy
    descriptor.addMultiTableInfoPolicy();
    MWDescriptorMultiTableInfoPolicy multiTablePolicy =
        (MWDescriptorMultiTableInfoPolicy) descriptor.getMultiTableInfoPolicy();

    MWTable inhMfTable = tableNamed("INH_MF");
    descriptor.addAssociatedTable(inhMfTable);
    multiTablePolicy.secondaryTableHolderFor(inhMfTable).setPrimaryKeysHaveSameName(false);
    multiTablePolicy
        .secondaryTableHolderFor(inhMfTable)
        .setReference(inhMfTable.referenceNamed("INH_MF_INH_COMP"));
    // more needed here for the table associations

    // direct to field mapping
    addDirectMapping(descriptor, "numberOfProcessors", inhMfTable, "PROCS");
  }