public void readData(LPDataInputStream data) throws IOException {
pos = data.readLPPosition();
filterPositions = new EnumMap<PipeRoutingConnectionType, List<List<LPPosition>>>(PipeRoutingConnectionType.class);
short id;
while((id = data.readShort()) != -1) {
PipeRoutingConnectionType type = PipeRoutingConnectionType.values[id];
List<List<LPPosition>> typeFilters = new ArrayList<List<LPPosition>>();
int length;
while((length = data.readShort()) != -1) {
List<LPPosition> linkedFilter = new ArrayList<LPPosition>();
for(int i=0;i<length;i++) {