protected MotechLocation addChildLocation(MotechLocation location) {
    if (!location.hasName()) return location;

    if (hasChildLocation(location)) {
      return getChildLocation(location);
    }
    childLocations.add(location);
    return location;
  }
 protected MotechLocation getChildLocation(MotechLocation location) {
   for (MotechLocation childLocation : childLocations) {
     if (childLocation.equals(location)) return childLocation;
   }
   return null;
 }