def struct(*args)
      raise ArgumentError, "Expected one or none arguments, got #{args.length}." unless [0, 1].include?(args.length)
      if args.length == 1
        raise ArgumentError, "Expected String (or nil), got #{args.first.class}." unless [String, NilClass].include?(args.first.class)
        return @associated_structs[args.first]
      else
        # No argument used, therefore we return the first StructureSet instance:
        return @structs.first
      end
    end
def struct(*args)
      raise ArgumentError, "Expected one or none arguments, got #{args.length}." unless [0, 1].include?(args.length)
      if args.length == 1
        raise ArgumentError, "Expected String (or nil), got #{args.first.class}." unless [String, NilClass].include?(args.first.class)
        return @associated_structs[args.first]
      else
        # No argument used, therefore we return the first StructureSet instance:
        return @structs.first
      end
    end
Gives the StructureSet instance mathcing the specified UID.

 @overload struct(uid)
   @param [String] uid the structure set SOP instance UID
   @return [StructureSet, NilClass] the matched structure set (or nil if no structure set is matched)
 @overload struct
   @return [StructureSet, NilClass] the first structure set of this instance (or nil if no child structure sets exists)