public static void addGenericMapping(
      ClassMap classMap,
      Configuration configuration,
      String srcName,
      String destName,
      CustomMapping mapping,
      Boolean isField) {
    FieldMap fieldMap = new GenericFieldMap(classMap);

    DozerField sourceField = new DozerField(srcName, null);
    DozerField destField = new DozerField(destName, null);

    if (isField.booleanValue()) {
      sourceField.setAccessible(true);
      destField.setAccessible(true);
    }

    // Add mapping
    fieldMap.setSrcField(sourceField);
    fieldMap.setDestField(destField);

    // Add relationship-type
    fieldMap.setRelationshipType(RelationshipType.valueOf(mapping.relationshipType().trim()));

    // Add remove orphan
    fieldMap.setRemoveOrphans(mapping.removeOrphans());

    // add CopyByReferences per defect #1728159
    MappingUtils.applyGlobalCopyByReference(configuration, fieldMap, classMap);
    classMap.addFieldMapping(fieldMap);
  }