container/common/src/main/java/org/mobicents/slee/runtime/facilities/TracerImpl.java
void resetCacheFlags(boolean resetChilds) {
		if (isTraceable(TraceLevel.FINEST)) {
			finestEnabled = true;
			finerEnabled = true;
			fineEnabled = true;
			configEnabled = true;
			infoEnabled = true;
			warningEnabled = true;
			severeEnabled = true;
		}
		else {
			finestEnabled = false;
			if (isTraceable(TraceLevel.FINER)) {
				finerEnabled = true;
				fineEnabled = true;
				configEnabled = true;
				infoEnabled = true;
				warningEnabled = true;
				severeEnabled = true;
			}
			else {
				finerEnabled = false;
				if (isTraceable(TraceLevel.FINE)) {
					fineEnabled = true;
					configEnabled = true;
					infoEnabled = true;
					warningEnabled = true;
					severeEnabled = true;
				}
				else {
					fineEnabled = false;
					if (isTraceable(TraceLevel.CONFIG)) {
						configEnabled = true;
						infoEnabled = true;
						warningEnabled = true;
						severeEnabled = true;
					}
					else {
						if (isTraceable(TraceLevel.INFO)) {
							infoEnabled = true;
							warningEnabled = true;
							severeEnabled = true;
						}
						else {
							infoEnabled = false;
							if (isTraceable(TraceLevel.WARNING)) {
								warningEnabled = true;
								severeEnabled = true;
							}
							else {
								warningEnabled = false;
								if (isTraceable(TraceLevel.SEVERE)) {
									severeEnabled = true;
								}
								else {
									severeEnabled = false;
								}
							}
						}
					}
				}
			}
		}
		if (resetChilds) {
			// implicit change of level demands that we update reset flags on childs without level
			for(TracerImpl child : childs) {
				if (child.level == null) {
					child.resetCacheFlags(true);
				}				
			}
		}
	}
void resetCacheFlags(boolean resetChilds) {
		if (isTraceable(TraceLevel.FINEST)) {
			finestEnabled = true;
			finerEnabled = true;
			fineEnabled = true;
			configEnabled = true;
			infoEnabled = true;
			warningEnabled = true;
			severeEnabled = true;
		}
		else {
			finestEnabled = false;
			if (isTraceable(TraceLevel.FINER)) {
				finerEnabled = true;
				fineEnabled = true;
				configEnabled = true;
				infoEnabled = true;
				warningEnabled = true;
				severeEnabled = true;
			}
			else {
				finerEnabled = false;
				if (isTraceable(TraceLevel.FINE)) {
					fineEnabled = true;
					configEnabled = true;
					infoEnabled = true;
					warningEnabled = true;
					severeEnabled = true;
				}
				else {
					fineEnabled = false;
					if (isTraceable(TraceLevel.CONFIG)) {
						configEnabled = true;
						infoEnabled = true;
						warningEnabled = true;
						severeEnabled = true;
					}
					else {
						if (isTraceable(TraceLevel.INFO)) {
							infoEnabled = true;
							warningEnabled = true;
							severeEnabled = true;
						}
						else {
							infoEnabled = false;
							if (isTraceable(TraceLevel.WARNING)) {
								warningEnabled = true;
								severeEnabled = true;
							}
							else {
								warningEnabled = false;
								if (isTraceable(TraceLevel.SEVERE)) {
									severeEnabled = true;
								}
								else {
									severeEnabled = false;
								}
							}
						}
					}
				}
			}
		}
		if (resetChilds) {
			// implicit change of level demands that we update reset flags on childs without level
			for(TracerImpl child : childs) {
				if (child.level == null) {
					child.resetCacheFlags(true);
				}				
			}
		}
	}
manages the flags which cache if levels are enabled