В классе PathToArray мы видим четыре места, в которых используется вызов метода toQuadraticBezierArray.
Внешне код очень похож и, возможно, речь идет об одинаковом коде. Проверим.
Первым делом жмем волшебную комбинацию: CTRL+SHIFT+F. Код отформатируется, расставятся пробелы и всё такое.
Теперь, если строки одинаковы, то они будут находиться поиском.
Начнем со строки

Код AS3:
quadraticCurves = [];
Пусть это будет первая строка, далее строки буду обозначать номерами.
Чтобы после поиска было удобно возвращаться в начало, правым кликом по серому полю окна слева добавьте закладку и затем используйте ее для возврата: слева, рядом со скроллером можно будет кликнуть на нее.
Итак,
1 - совпадает
2 - не совпадает
3 - совпадает
4 - не совпадает, хотя вроде должна. Ага, вынесем объявление переменной ii в начало метода. CTRL+SHIFT+F, проверяем, теперь совпадает.
После цикла две строки не совпадают и только последняя еще раз совпадает.
Это очень хороший результат: мы сможем вынести совпадающие части в отдельный метод, что, возможно, избавит от нас от необходимости вносить изменения в четырех местах.
Поэтому временно откладываем рефакторинг скрытого нетипизированного доступа и приступаем и извлечению метода.
Опускаем строку присвоения массива под строку создания сubicBezier, затем копируем участок кода. Создаем новый метод и вставляем код туда:

Код AS3:
private function extractedCode():void {
quadraticCurves = [];
сubicBezier.toQuadraticBezierArray(1, quadraticCurves);
for (ii = 0;ii < quadraticCurves.length; ii++) {
drawCmds.push(['C', [quadraticCurves[ii].cx, quadraticCurves[ii].cy, quadraticCurves[ii].p2x, quadraticCurves[ii].p2y]]);
}
}
Смотрим, в каких данных мы нуждаемся:
- массив quadraticCurves можем объявить прямо здесь, объявляем;
- сubicBezier должны получить, добавляем аргумент;
- итератор цикла объявляем здесь же, и переименовываем из двойного ii в одинарную i.
Имеем вот такую картину:

Код AS3:
private function extractedCode(сubicBezier:CubicBezierSVG):void {
const quadraticCurves:Array = [];
сubicBezier.toQuadraticBezierArray(1, quadraticCurves);
for (var i:int = 0;i < quadraticCurves.length; i++) {
drawCmds.push(['C', [quadraticCurves[i].cx, quadraticCurves[i].cy, quadraticCurves[i].p2x, quadraticCurves[i].p2y]]);
}
}
Возвращаемся по метке, добавляем после создания сubicBezier вызов метода:

Код AS3:
extractedCode(сubicBezier);
Тестируем. Всё в порядке. Аналогично заменяем следующие участки кода на вызов метода, не забывая каждый раз тестировать.
По окончании, редактор нам подскажет, что появились две неиспользованные переменные. Удалим их.
Имя метода никуда не годится, назовем его pushCubicBezierDrawCommands.