b = CompassPoints.rotateClockwise(b);
b = (int) (CompassPoints.rotateClockwise((byte) b) & 0xFF);
    public TrackRule(long price, String name, boolean isDoubleTrack, long	    maintenanceCost, byte[] lc, int maxConsecutivePieces, boolean[]	    buildPermissions) {        if (null == lc || null == buildPermissions) {            throw new java.lang.IllegalArgumentException();        }	for (int i = 0; i < lc.length; i++) {	    byte b = (byte) (((int) lc[i]) & 0xFF);	    for (int j = 0; j < 8; j++) {		legalConfigurations[b] = true;		b = CompassPoints.rotateClockwise(b);	    }	}	this.maxConsecutivePieces = maxConsecutivePieces;	this.buildPermissions = buildPermissions;	this.maintenanceCost = maintenanceCost;	this.isDoubleTrack = isDoubleTrack;	this.name = name;	this.price = price;    }