    # File lib/gettext/runtime/class_info.rb, line 27
        def related_classes_internal(klass, all_classes = [], analyzed_classes = [] )
          ret = []
          klass = normalize_class(klass)

          return [Object] if root_ancestors.include? klass

          ary = klass.name.split(/::/)
          while(v = ary.shift)
            ret.unshift(((ret.size == 0) ? Object.const_get(v) : ret[0].const_get(v)))
          end
          ret -= analyzed_classes
          if ret.size > 1
            ret += related_classes_internal(ret[1], all_classes, analyzed_classes)
            ret.uniq!
          end
          analyzed_classes << klass unless analyzed_classes.include? klass

          klass.ancestors[1..-1].each do |a|
            ret += related_classes_internal(a, all_classes, analyzed_classes)
            ret.uniq!
          end

          if all_classes.size > 0
            (ret & all_classes).uniq
          else
            ret.uniq
          end
        end