Layer opposite = Util.getOppositeLayer(chunk.iterator().next(), current);
if (!convCalculatedLayers.contains(opposite)) {
convCalculatedLayers.add(opposite);
if (ffcc instanceof AparapiConv2DSigmoid) {
result = new BackPropagationConv2DSigmoid(p);
} else if (ffcc instanceof AparapiConv2DTanh) {
result = new BackPropagationConv2DTanh(p);
} else if (ffcc instanceof AparapiConv2DSoftReLU) {
result = new BackPropagationConv2DSoftReLU(p);
} else if (ffcc instanceof AparapiConv2DReLU) {