@Nonnull
	public IconProvider getClassMemberIconProvider(@Nonnull Workspace workspace,
												   @Nonnull WorkspaceResource resource,
												   @Nonnull ClassBundle<? extends ClassInfo> bundle,
												   @Nonnull ClassInfo declaringClass,
												   @Nonnull ClassMember member) {
		if (member.isField()) {
			FieldIconProviderFactory factory = fieldIconOverride != null ? fieldIconOverride : fieldIconDefault;
			return factory.getFieldMemberIconProvider(workspace, resource, bundle, declaringClass, (FieldMember) member);
		} else if (member.isMethod()) {
			MethodIconProviderFactory factory = methodIconOverride != null ? methodIconOverride : methodIconDefault;
			return factory.getMethodMemberIconProvider(workspace, resource, bundle, declaringClass, (MethodMember) member);
		} else {
			throw new IllegalStateException("Unsupported member: " + member.getClass().getName());
		}
	}
Delegates to {@link FieldContextMenuProviderFactory} and {@link MethodContextMenuProviderFactory}.

@param workspace
		Containing workspace.
@param resource
		Containing resource.
@param bundle
		Containing bundle.
@param declaringClass
		Containing class.
@param member
		The member to create an icon for.

@return Icon provider for the class member.
recaf-ui/src/main/java/software/coley/recaf/services/cell/icon/IconProviderService.java