class BinData::DSLMixin::DSLBigAndLittleEndianHandler

def override_new_in_class

def override_new_in_class
  saved_class = @the_class
  endian_classes = {
    :big => class_with_endian(saved_class, :big),
    :little => class_with_endian(saved_class, :little),
  }
  @the_class.define_singleton_method(:new) do |*args|
    if self == saved_class
      value, options, parent = arg_processor.separate_args(self, args)
      delegate = endian_classes[options[:endian]]
      return delegate.new(*args) if delegate
    end
    super(*args)
  end
end