I tried to describe that with the comment bellow but apparently I wasn't too clear. 
$bundleDirs will be an array like 

```php
  $bundleDirs = array(
        0 => '/path/to/MyCompanyGeneratorBundle/Resources/skeleton',
        1 => '/path/to/SensioGeneratorBundle/Resources/skeleton',
        2 => '/path/to/OtherGeneratorBundle/Resources/skeleton',
  );
```

If I merge $bundleDirs with $skeletonDirs I will return an array that might look like this: 

```php
  $skeletonDirs = array(
        0 => '/path/to/MyCompanyGeneratorBundle/Resources/skeleton',
        1 => '/path/to/SensioGeneratorBundle/Resources/skeleton',
        2 => '/path/to/OtherGeneratorBundle/Resources/skeleton',
        3 => '/path/to/SensioGeneratorBundle/Resources/skeleton',
  );
```

Correct me if I'm wrong here but when searching for skeleton files you take the first file you find. So if $skeletonDirs[0] does not contain the file we are looking for you'll continue looking in $skeletonDirs[1], right? And since $skeletonDirs[1] (in this case) is the SensioGeneratorBundle it will always have the skeleton file. That means that we are never going to use the files in $skeletonDirs[2]. 

That's why I want to remove SensioGeneratorBundle from $bundleDIrs and make sure it is readded at the end of the $skeletonDirs.