ir in java implementation