code: public Result<NsDAO.Data> deriveNs(AuthzTrans trans, String child) {
  		Result<List<NsDAO.Data>> r = nsDAO.read(trans, child);
  		
  		if (r.isOKhasData()) {
  			return Result.ok(r.value.get(0));
  		} else {
  			int dot = child == null ? -1 : child.lastIndexOf('.');
  			if (dot < 0) {
  				return Result.err(Status.ERR_NsNotFound,
  						"No Namespace for [%s]", child);
  			} else {
  				return deriveNs(trans, child.substring(0, dot));
  			}
  		}
  	}
docs: Derive NS
  
  Given a Child Namespace, figure out what the best Namespace parent is.
  
  For instance, if in the NS table, the parent "com.att" exists, but not
  "com.att.child" or "com.att.a.b.c", then passing in either
  "com.att.child" or "com.att.a.b.c" will return "com.att"
  
  Uses recursive search on Cached DAO data
  
  @param trans
  @param child
  @return