protected function mergeComposerObjects(\stdClass $original_composer, \stdClass $new_composer, callable  $callback = NULL) {
    foreach ($original_composer as $key => $values) {
      $is_array = is_array($values);
      $values = (array) $values;
      if (isset($new_composer->{$key})) {
        $value = (array) $new_composer->{$key};
        $values = array_merge($value, $values);
      }
      $new_composer->{$key} = $is_array ? $values : (object) $values;
    }
    if ($callback) {
      call_user_func($callback, $new_composer);
    }
    return $new_composer;
  }