@Override
 public ConfiguredComponentOmniMech[] cloneComponents(
     LoadoutBase<ConfiguredComponentOmniMech> aLoadout) {
   ConfiguredComponentOmniMech[] ans = new ConfiguredComponentOmniMech[Location.values().length];
   for (Location location : Location.values()) {
     ans[location.ordinal()] = new ConfiguredComponentOmniMech(aLoadout.getComponent(location));
   }
   return ans;
 }
 @Override
 public ConfiguredComponentOmniMech[] defaultComponents(ChassisBase aChassis) {
   ChassisOmniMech omniMech = (ChassisOmniMech) aChassis;
   ConfiguredComponentOmniMech[] ans = new ConfiguredComponentOmniMech[Location.values().length];
   for (Location location : Location.values()) {
     ans[location.ordinal()] =
         new ConfiguredComponentOmniMech(
             omniMech.getComponent(location),
             true,
             OmniPodDB.lookupOriginal(omniMech, location));
     if ((location == Location.LeftTorso || location == Location.RightTorso)
         && omniMech.getFixedEngine().getType() == EngineType.XL) {
       ans[location.ordinal()].addItem(ConfiguredComponentBase.ENGINE_INTERNAL_CLAN);
     }
   }
   return ans;
 }
 @Override
 public ConfiguredComponentStandard[] defaultComponents(ChassisBase aChassis) {
   ChassisStandard chassis = (ChassisStandard) aChassis;
   ConfiguredComponentStandard[] ans = new ConfiguredComponentStandard[Location.values().length];
   for (ComponentStandard component : chassis.getComponents()) {
     ans[component.getLocation().ordinal()] = new ConfiguredComponentStandard(component, true);
   }
   return ans;
 }
 @Override
 public ConfiguredComponentStandard[] cloneComponents(
     LoadoutBase<ConfiguredComponentStandard> aLoadout) {
   ConfiguredComponentStandard[] ans = new ConfiguredComponentStandard[Location.values().length];
   for (ConfiguredComponentStandard component : aLoadout.getComponents()) {
     ans[component.getInternalComponent().getLocation().ordinal()] =
         new ConfiguredComponentStandard(component);
   }
   return ans;
 }