// Primero recorro el arreglo de datos y parametros
int[][] connectTo = gateData[i].connectTo;
// Ahora recorro todos los pines de ese gate conectandolos
Gate gateA = gates[i];
int pinCountGateA = gateA.pinCount();
for (int pinId = 0; pinId < pinCountGateA; pinId++) {
// REcupero el gate y el pin
Gate gateB = gates[connectTo[pinId][0]];
// Si las compuertas son distintas