code: public Set<MobicentsSipSession> getSipSessions(boolean internal) {
  		Set<MobicentsSipSession> retSipSessions = new HashSet<MobicentsSipSession>();
  		if(sipSessions != null) {
  			for(SipSessionKey sipSessionKey : sipSessions) {
  				MobicentsSipSession sipSession = sipContext.getSipManager().getSipSession(sipSessionKey, false, null, this);
  				if(sipSession != null) {
  					if(sipSession.isValidInternal()) {
  						if(internal) {
  							retSipSessions.add(sipSession);
  						} else {
  							retSipSessions.add(sipSession.getFacade());
  						}
  					}
  					// https://github.com/Mobicents/sip-servlets/issues/41
  					// Adding derived Sessions to the list of returned sip sessions
  					Iterator<MobicentsSipSession> derivedSessionsIterator = sipSession.getDerivedSipSessions();
  					while (derivedSessionsIterator.hasNext()) {
  						MobicentsSipSession derivedSipSession = derivedSessionsIterator
  								.next();
  						if(internal) {
  							retSipSessions.add(derivedSipSession);
  						} else {
  							retSipSessions.add(derivedSipSession.getFacade());
  						}
  					}
  				}
  			}
  		}
  		return retSipSessions;
  	}
docs: to avoid serialization issues