docs: public Record getTargetRecord(Map<String,Object> properties, String strParam)
      {
          String strRecordName = (String)properties.get(strParam);
          Record record = null;
          if ((strRecordName != null) && (strRecordName.length() > 0))
          {
              String strTableName = strRecordName;
              if (strTableName.indexOf('.') != -1)
                  strTableName = strTableName.substring(strTableName.lastIndexOf('.') + 1);
              if (this.getRecordOwner() != null)  // Always
                  record = (Record)this.getRecordOwner().getRecord(strTableName);
              if (record != null)
                  return record;    // Already open
              if (strRecordName.indexOf('.') == -1)
                  if (properties.get("package") != null)
                      strRecordName = (String)properties.get("package") + '.' + strRecordName;
              if (strRecordName.indexOf('.') == -1)
              {
                  ClassInfo recClassInfo = new ClassInfo(this.getRecordOwner());
                  try {
                      recClassInfo.getField(ClassInfo.CLASS_NAME).setString(strRecordName);
                      recClassInfo.setKeyArea(ClassInfo.CLASS_NAME_KEY);
                      if (recClassInfo.seek(null))
                          strRecordName = recClassInfo.getPackageName(null) + '.' + strRecordName;
                  } catch (DBException ex) {
                      ex.printStackTrace();
                  } finally {
                      recClassInfo.free();
                  }
              }
              if (strRecordName.indexOf('.') != -1)
              {
                 record = (Record)ClassServiceUtility.getClassService().makeObjectFromClassName(strRecordName);
                  if (record != null)
                      record.init(this.findRecordOwner());
              }
          }
          return record;
      }