geopackage-sdk/src/main/java/mil/nga/geopackage/extension/style/FeatureStyleExtension.java
public void setIcon(String featureTable, long featureId,
                        GeometryType geometryType, IconRow icon) {
        deleteIcon(featureTable, featureId, geometryType);
        if (icon != null) {

            createIconRelationship(featureTable);

            long iconId = getOrInsertIcon(icon);

            StyleMappingDao mappingDao = getIconMappingDao(featureTable);
            insertStyleMapping(mappingDao, featureId, iconId, geometryType);

        }
    }
public void setIcon(String featureTable, long featureId,
                        GeometryType geometryType, IconRow icon) {
        deleteIcon(featureTable, featureId, geometryType);
        if (icon != null) {

            createIconRelationship(featureTable);

            long iconId = getOrInsertIcon(icon);

            StyleMappingDao mappingDao = getIconMappingDao(featureTable);
            insertStyleMapping(mappingDao, featureId, iconId, geometryType);

        }
    }
Get the icon of the feature, searching in order: feature geometry type
icon, feature default icon, table geometry type icon, table default icon

@param featureTable feature table
@param featureId    feature id
@param geometryType geometry type
@param icon         icon row