def all_series
    first   = self.components
    second  = []
    third   = []
    fourth  = []
    fifth   = []
    sixth   = []
    
    # Get additional series, second through sixth
    second  = first.collect { |r| r.sub_components }.flatten unless first.empty?
    third   = second.collect { |r| r.sub_components }.flatten unless second.empty?
    fourth  = third.collect { |r| r.sub_components }.flatten unless third.empty?
    fifth   = fourth.collect { |r| r.sub_components }.flatten unless fourth.empty?
    sixth   = fifth.collect { |r| r.sub_components }.flatten unless fifth.empty?

    return (first + second + third + fourth + fifth + sixth).sort
  end
def all_series
    first   = self.components
    second  = []
    third   = []
    fourth  = []
    fifth   = []
    sixth   = []
    
    # Get additional series, second through sixth
    second  = first.collect { |r| r.sub_components }.flatten unless first.empty?
    third   = second.collect { |r| r.sub_components }.flatten unless second.empty?
    fourth  = third.collect { |r| r.sub_components }.flatten unless third.empty?
    fifth   = fourth.collect { |r| r.sub_components }.flatten unless fourth.empty?
    sixth   = fifth.collect { |r| r.sub_components }.flatten unless fifth.empty?

    return (first + second + third + fourth + fifth + sixth).sort
  end
Returns all Artk::Component objects or <c> nodes that are in the collection.
 We have to build the component levels one by one, limited to 6 levels.