rule = None
for ruleTested in coloring:
    ruleType = clr.GetClrType(type(ruleTested)).ToString()
    if((ruleType == 'Spotfire.Dxp.Application.Visuals.ConditionalColoring.TopBottomColorRule') and (ruleTested.ManualDisplayName == jsonParam['displayName'])):
        rule = ruleTested
        break;

color = Color.FromArgb(jsonParam['color']['a'],jsonParam['color']['r'],jsonParam['color']['g'],jsonParam['color']['b'])
if(rule == None):
    if(jsonParam['isBottom']):
        rule = coloring.AddBottomNRule(conditionValue, color)
    else:
        rule = coloring.AddTopNRule(conditionValue, color)
if(jsonParam['displayName'] != None):
    rule.ManualDisplayName = jsonParam['displayName']
rule.Color = color
rule.IsBottom = jsonParam['isBottom']
rule.Rank = conditionValue