code: public Record openHeaderRecord()
      {
          Record record = null;
          //this.syncContactTypeToMain();    // Read in the current contact record
          if (this.getScreenRecord() == null)
              this.setScreenRecord(this.addScreenRecord());
          ReferenceField fldContactType = (ReferenceField)this.getScreenRecord().getField(MessageLogScreenRecord.CONTACT_TYPE_ID);
          ContactType recContactType = (ContactType)fldContactType.getReferenceRecord(this);
          recContactType = (ContactType)fldContactType.getReference(); // Being careful
          String strHeaderRecordName = null;
          if (recContactType != null)
              strHeaderRecordName = recContactType.getField(ContactType.CODE).toString();
          if ((strHeaderRecordName == null) || (strHeaderRecordName.length() == 0))
              strHeaderRecordName = this.getProperty(fldContactType.getFieldName());
          record = recContactType.makeRecordFromRecordName(strHeaderRecordName, this);
          if (record != null)
              ((ReferenceField)this.getScreenRecord().getField(MessageLogScreenRecord.CONTACT_ID)).setReferenceRecord(record);
          return record;
      }
docs: OpenHeaderRecord Method.