geopackage-sdk/src/main/java/mil/nga/geopackage/extension/style/FeatureStyleExtension.java
public IconRow getIcon(String featureTable, long featureId,
                           GeometryType geometryType, boolean tableIcon) {

        IconRow iconRow = null;

        // Feature Icon
        Icons icons = getIcons(featureTable, featureId);
        if (icons != null) {
            iconRow = icons.getIcon(geometryType);
        }

        if (iconRow == null && tableIcon) {

            // Table Icon
            iconRow = getTableIcon(featureTable, geometryType);

        }

        return iconRow;
    }
public IconRow getIcon(String featureTable, long featureId,
                           GeometryType geometryType, boolean tableIcon) {

        IconRow iconRow = null;

        // Feature Icon
        Icons icons = getIcons(featureTable, featureId);
        if (icons != null) {
            iconRow = icons.getIcon(geometryType);
        }

        if (iconRow == null && tableIcon) {

            // Table Icon
            iconRow = getTableIcon(featureTable, geometryType);

        }

        return iconRow;
    }
Get the icon of the feature, searching in order: feature geometry type
icon, feature default icon, when tableIcon enabled continue searching:
table geometry type icon, table default icon

@param featureTable feature table
@param featureId    feature id
@param geometryType geometry type
@param tableIcon    when true and a feature icon is not found, query for a
matching table icon
@return icon row