// Path: src/main/java/org/cyclops/integratedtunnels/core/part/PartStateRoundRobin.java
// public class PartStateRoundRobin<P extends IPartTypeWriter> extends PartStateWriterBase<P> {
// 
//     private IPartPosIteratorHandler partPosIteratorHandler = null;
// 
//     public PartStateRoundRobin(int inventorySize) {
//         super(inventorySize);
//     }
// 
//     public void setPartPosIteratorHandler(IPartPosIteratorHandler partPosIteratorHandler) {
//         this.partPosIteratorHandler = partPosIteratorHandler;
//     }
// 
//     public IPartPosIteratorHandler getPartPosIteratorHandler() {
//         return partPosIteratorHandler;
//     }
// }


import org.cyclops.integrateddynamics.api.network.INetwork;
import org.cyclops.integrateddynamics.api.network.IPartPosIteratorHandler;
import org.cyclops.integrateddynamics.api.network.IPositionedAddonsNetwork;
import org.cyclops.integrateddynamics.core.network.PartPosIteratorHandlerRoundRobin;
import org.cyclops.integratedtunnels.core.part.PartStateRoundRobin;
import javax.annotation.Nullable;
package org.cyclops.integratedtunnels.part.aspect;



/**
 * A helper class for movement targets with a certain network type.
 * @author rubensworks
 */
public abstract class ChanneledTarget<N extends IPositionedAddonsNetwork, T> implements IChanneledTarget<N, T> {

    private final INetwork network;
    private final N channeledNetwork;
    @Nullable
// Path: src/main/java/org/cyclops/integratedtunnels/core/part/PartStateRoundRobin.java
// public class PartStateRoundRobin<P extends IPartTypeWriter> extends PartStateWriterBase<P> {
// 
//     private IPartPosIteratorHandler partPosIteratorHandler = null;
// 
//     public PartStateRoundRobin(int inventorySize) {
//         super(inventorySize);
//     }
// 
//     public void setPartPosIteratorHandler(IPartPosIteratorHandler partPosIteratorHandler) {
//         this.partPosIteratorHandler = partPosIteratorHandler;
//     }
// 
//     public IPartPosIteratorHandler getPartPosIteratorHandler() {
//         return partPosIteratorHandler;
//     }
// }


// Path: src/main/java/org/cyclops/integratedtunnels/part/aspect/ChanneledTarget.java
import org.cyclops.integrateddynamics.api.network.INetwork;
import org.cyclops.integrateddynamics.api.network.IPartPosIteratorHandler;
import org.cyclops.integrateddynamics.api.network.IPositionedAddonsNetwork;
import org.cyclops.integrateddynamics.core.network.PartPosIteratorHandlerRoundRobin;
import org.cyclops.integratedtunnels.core.part.PartStateRoundRobin;
import javax.annotation.Nullable;

package org.cyclops.integratedtunnels.part.aspect;



/**
 * A helper class for movement targets with a certain network type.
 * @author rubensworks
 */
public abstract class ChanneledTarget<N extends IPositionedAddonsNetwork, T> implements IChanneledTarget<N, T> {

    private final INetwork network;
    private final N channeledNetwork;
    @Nullable
    private final PartStateRoundRobin<?> partState;