code: public Threshold createThreshold(ThresholdDefinition definition){
          Threshold ret = createTieable(definition);
  
          try {
  	    	// Construct the ObjectName for the MBean we will register
              String name = createName(ret.getDefinition().getName());
              MBeanUtil.getInstance().registerMBean(ret, name, true);
          } catch (MalformedObjectNameException | NotCompliantMBeanException | MBeanRegistrationException e) {
  	    	log.warn("can't subscribe threshold to jmx", e);
  	    } catch(AccessControlException e){
  			log.warn("can't create jmx bean due to access control problems", e);
  		}
  
      	return ret;
  
  	}
docs: Creates a {@link Threshold} related to given {@link ThresholdDefinition} and registers it as
  MBean. If there is already such a Bean defined, this method will remove the old MBean and
  registers the new {@link Threshold} instead.
  
  @param definition
  the {@link ThresholdDefinition}
  @return {@link Threshold}