From 272f7c50908376393e24a370d789d4c628fb6556 Mon Sep 17 00:00:00 2001 From: XJIE6 Date: Sat, 13 Feb 2016 18:49:01 +0300 Subject: [PATCH 1/6] IT WORKS! --- .idea/libraries/Maven__junit_junit_4_12.xml | 13 + .../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 + .idea/misc.xml | 19 +- .idea/uiDesigner.xml | 124 +++ .idea/workspace.xml | 813 +++++++++++++++++- JavaHW.iml | 13 + pom.xml | 7 + src/main/java/Lazy.java | 7 + src/main/java/LazyFactory.java | 77 ++ src/test/java/LazyFactoryTest.java | 297 +++++++ target/classes/Lazy.class | Bin 0 -> 205 bytes target/classes/LazyFactory$1.class | Bin 0 -> 999 bytes target/classes/LazyFactory$2.class | Bin 0 -> 999 bytes target/classes/LazyFactory$3.class | Bin 0 -> 1277 bytes target/classes/LazyFactory$MyLazy.class | Bin 0 -> 860 bytes target/classes/LazyFactory$MyOtherLazy.class | Bin 0 -> 993 bytes target/classes/LazyFactory.class | Bin 0 -> 1053 bytes target/test-classes/LazyFactoryTest$1.class | Bin 0 -> 770 bytes target/test-classes/LazyFactoryTest$10.class | Bin 0 -> 772 bytes target/test-classes/LazyFactoryTest$11.class | Bin 0 -> 843 bytes target/test-classes/LazyFactoryTest$12.class | Bin 0 -> 989 bytes target/test-classes/LazyFactoryTest$13.class | Bin 0 -> 848 bytes target/test-classes/LazyFactoryTest$14.class | Bin 0 -> 848 bytes target/test-classes/LazyFactoryTest$15.class | Bin 0 -> 948 bytes .../test-classes/LazyFactoryTest$16$1.class | Bin 0 -> 985 bytes target/test-classes/LazyFactoryTest$16.class | Bin 0 -> 951 bytes .../test-classes/LazyFactoryTest$17$1.class | Bin 0 -> 985 bytes target/test-classes/LazyFactoryTest$17.class | Bin 0 -> 1115 bytes target/test-classes/LazyFactoryTest$2.class | Bin 0 -> 841 bytes target/test-classes/LazyFactoryTest$3.class | Bin 0 -> 987 bytes target/test-classes/LazyFactoryTest$4.class | Bin 0 -> 770 bytes target/test-classes/LazyFactoryTest$5.class | Bin 0 -> 841 bytes target/test-classes/LazyFactoryTest$6.class | Bin 0 -> 987 bytes target/test-classes/LazyFactoryTest$7.class | Bin 0 -> 846 bytes target/test-classes/LazyFactoryTest$8.class | Bin 0 -> 846 bytes target/test-classes/LazyFactoryTest$9.class | Bin 0 -> 946 bytes ...LazyFactoryTest$LazyFactoryTester1$1.class | Bin 0 -> 1048 bytes .../LazyFactoryTest$LazyFactoryTester1.class | Bin 0 -> 1387 bytes ...LazyFactoryTest$LazyFactoryTester2$1.class | Bin 0 -> 1048 bytes ...LazyFactoryTest$LazyFactoryTester2$2.class | Bin 0 -> 1553 bytes .../LazyFactoryTest$LazyFactoryTester2.class | Bin 0 -> 2345 bytes ...LazyFactoryTest$LazyFactoryTester3$1.class | Bin 0 -> 1553 bytes .../LazyFactoryTest$LazyFactoryTester3.class | Bin 0 -> 2128 bytes target/test-classes/LazyFactoryTest.class | Bin 0 -> 1919 bytes 44 files changed, 1344 insertions(+), 39 deletions(-) create mode 100644 .idea/libraries/Maven__junit_junit_4_12.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 src/main/java/Lazy.java create mode 100644 src/main/java/LazyFactory.java create mode 100644 src/test/java/LazyFactoryTest.java create mode 100644 target/classes/Lazy.class create mode 100644 target/classes/LazyFactory$1.class create mode 100644 target/classes/LazyFactory$2.class create mode 100644 target/classes/LazyFactory$3.class create mode 100644 target/classes/LazyFactory$MyLazy.class create mode 100644 target/classes/LazyFactory$MyOtherLazy.class create mode 100644 target/classes/LazyFactory.class create mode 100644 target/test-classes/LazyFactoryTest$1.class create mode 100644 target/test-classes/LazyFactoryTest$10.class create mode 100644 target/test-classes/LazyFactoryTest$11.class create mode 100644 target/test-classes/LazyFactoryTest$12.class create mode 100644 target/test-classes/LazyFactoryTest$13.class create mode 100644 target/test-classes/LazyFactoryTest$14.class create mode 100644 target/test-classes/LazyFactoryTest$15.class create mode 100644 target/test-classes/LazyFactoryTest$16$1.class create mode 100644 target/test-classes/LazyFactoryTest$16.class create mode 100644 target/test-classes/LazyFactoryTest$17$1.class create mode 100644 target/test-classes/LazyFactoryTest$17.class create mode 100644 target/test-classes/LazyFactoryTest$2.class create mode 100644 target/test-classes/LazyFactoryTest$3.class create mode 100644 target/test-classes/LazyFactoryTest$4.class create mode 100644 target/test-classes/LazyFactoryTest$5.class create mode 100644 target/test-classes/LazyFactoryTest$6.class create mode 100644 target/test-classes/LazyFactoryTest$7.class create mode 100644 target/test-classes/LazyFactoryTest$8.class create mode 100644 target/test-classes/LazyFactoryTest$9.class create mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class create mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester1.class create mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class create mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester2$2.class create mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester2.class create mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester3$1.class create mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester3.class create mode 100644 target/test-classes/LazyFactoryTest.class diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 0000000..d411041 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..f58bbc1 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 6360958..1c811aa 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -38,6 +38,9 @@ + + + + + + true @@ -68,7 +223,7 @@ - + @@ -84,9 +239,8 @@ - - + @@ -118,6 +272,14 @@ @@ -137,22 +299,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -196,6 +534,17 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -232,6 +619,61 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - - - - - - + + + + + + + + + - + - - + + + - - - + + - @@ -297,5 +741,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No facets are configured + + + + + + + + + + + + + + + 1.8 + + + + + + + + JavaHW + + + + + + + + 1.8 + + + + + + + + + + + + + \ No newline at end of file diff --git a/JavaHW.iml b/JavaHW.iml index 73f608b..3541787 100644 --- a/JavaHW.iml +++ b/JavaHW.iml @@ -11,5 +11,18 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 91c9624..31f50f7 100644 --- a/pom.xml +++ b/pom.xml @@ -8,5 +8,12 @@ hw 1.0-SNAPSHOT + + + junit + junit + 4.12 + + \ No newline at end of file diff --git a/src/main/java/Lazy.java b/src/main/java/Lazy.java new file mode 100644 index 0000000..ca03b25 --- /dev/null +++ b/src/main/java/Lazy.java @@ -0,0 +1,7 @@ +/** + * Created by urijkravcenko on 12/02/16. + */ + +public interface Lazy { + T get(); +} diff --git a/src/main/java/LazyFactory.java b/src/main/java/LazyFactory.java new file mode 100644 index 0000000..fef7443 --- /dev/null +++ b/src/main/java/LazyFactory.java @@ -0,0 +1,77 @@ +import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation; + +import java.util.Objects; +import java.util.concurrent.atomic.AtomicMarkableReference; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Supplier; + +/** + * Created by urijkravcenko on 12/02/16. + */ + +public class LazyFactory { + + abstract static class MyLazy implements Lazy { + Boolean got = false; + Object result = null; + + MyLazy(Supplier supplier) { + result = supplier; + } + } + + public static Lazy createLazy1(Supplier supplier) { + + return new MyLazy(supplier) { + + public T get() { + if (!got) { + got = true; + result = ((Supplier) result).get(); + } + return (T) result; + } + + }; + } + + public static Lazy createLazy2(Supplier supplier) { + + return new MyLazy(supplier) { + + synchronized public T get() { + if (!got) { + got = true; + result = ((Supplier) result).get(); + } + return (T) result; + } + + }; + } + + abstract static class MyOtherLazy implements Lazy { + AtomicMarkableReference result = new AtomicMarkableReference(null, false); + + MyOtherLazy(Supplier supplier) { + result.set(supplier, false); + } + + } + + public static Lazy createLazy3(Supplier supplier) { + + return new MyOtherLazy(supplier) { + + public T get() { + AtomicMarkableReference current = result; + if (!current.isMarked()) { + T newResult = ((Supplier) current.getReference()).get(); + result.compareAndSet(current.getReference(), newResult, false, true); + } + return (T) result.getReference(); + } + }; + } + +} diff --git a/src/test/java/LazyFactoryTest.java b/src/test/java/LazyFactoryTest.java new file mode 100644 index 0000000..36ce30b --- /dev/null +++ b/src/test/java/LazyFactoryTest.java @@ -0,0 +1,297 @@ +import java.util.ArrayList; +import java.util.Random; +import java.util.concurrent.CyclicBarrier; +import java.util.function.Supplier; + +import static org.junit.Assert.*; + +/** + * Created by urijkravcenko on 12/02/16. + */ +public class LazyFactoryTest { + + static class LazyFactoryTester1 { + static int runs = 0; + + LazyFactoryTester1(final Supplier supplier) { + runs = 0; + Lazy myLazy = LazyFactory.createLazy1(new Supplier() { + public T get() { + runs++; + return supplier.get(); + } + }); + T answer = myLazy.get(); + for (int i = 0; i < 100; ++i) { + assertSame(answer, myLazy.get()); + } + + assertEquals(1, runs); + } + } + + @org.junit.Test + public void testCreateLazy1() throws Exception { + new LazyFactoryTester1(new Supplier() { + public Integer get() { + return null; + } + }); + + new LazyFactoryTester1(new Supplier() { + public Integer get() { + return 1; + } + }); + + new LazyFactoryTester1(new Supplier() { + Random random = new Random(123); + + public Integer get() { + return random.nextInt(); + } + }); + + } + + static class LazyFactoryTester2 { + volatile static int runs; + static final int n = 10; + static ArrayList answer = new ArrayList(); + + LazyFactoryTester2(final Supplier supplier) { + answer.clear(); + runs = 0; + final Lazy myLazy = LazyFactory.createLazy2(new Supplier() { + public T get() { + runs++; + return supplier.get(); + } + }); + final CyclicBarrier barrier = new CyclicBarrier(n); + ArrayList threads = new ArrayList(n); + for (int i = 0; i < n; i++) { + final int finalI = i; + answer.add(null); + threads.add(new Thread(new Runnable() { + public void run() { + try { + barrier.await(); + } catch (Exception e) { + e.printStackTrace(); + } + answer.set(finalI, myLazy.get()); + for (int i = 0; i < 100; ++i) { + assertSame(answer.get(finalI), myLazy.get()); + } + } + })); + threads.get(i).start(); + } + for (int i = 0; i < n; ++i) { + try { + threads.get(i).join(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + assertEquals(1, runs); + for (int i = 0; i < n - 1; ++i) { + assertSame(answer.get(i), answer.get(i + 1)); + } + + } + } + + @org.junit.Test + public void testCreateLazy2() throws Exception { + new LazyFactoryTester2(new Supplier() { + public Integer get() { + return null; + } + }); + + new LazyFactoryTester2(new Supplier() { + public Integer get() { + return 1; + } + }); + + new LazyFactoryTester2(new Supplier() { + Random random = new Random(123); + + public Integer get() { + return random.nextInt(); + } + }); + + new LazyFactoryTester2(new Supplier() { + boolean flag = true; + + public String get() { + if (flag) { + flag = false; + return null; + } + return "abacaba"; + } + }); + + new LazyFactoryTester2(new Supplier() { + boolean flag = true; + + public String get() { + if (flag) { + flag = false; + return "abacaba"; + } + return null; + } + }); + + new LazyFactoryTester2(new Supplier() { + Random random = new Random(123); + + public String get() { + if (random.nextBoolean()) { + return "abacaba"; + } + return null; + } + }); + } + + static class LazyFactoryTester3 { + static final int n = 10; + static ArrayList answer = new ArrayList(); + + LazyFactoryTester3(final Supplier supplier) { + answer.clear(); + final Lazy myLazy = LazyFactory.createLazy3(supplier); + final CyclicBarrier barrier = new CyclicBarrier(n); + ArrayList threads = new ArrayList(n); + for (int i = 0; i < n; i++) { + final int finalI = i; + answer.add(null); + threads.add(new Thread(new Runnable() { + public void run() { + try { + barrier.await(); + } catch (Exception e) { + e.printStackTrace(); + } + answer.set(finalI, myLazy.get()); + for (int i = 0; i < 100; ++i) { + assertSame(answer.get(finalI), myLazy.get()); + } + } + })); + threads.get(i).start(); + } + for (int i = 0; i < n; ++i) { + try { + threads.get(i).join(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + for (int i = 0; i < n - 1; ++i) { + assertSame(answer.get(i), answer.get(i + 1)); + } + + } + } + + @org.junit.Test + public void testCreateLazy3() throws Exception { + new LazyFactoryTester3(new Supplier() { + public Integer get() { + return null; + } + }); + + new LazyFactoryTester3(new Supplier() { + public Integer get() { + return 1; + } + }); + + new LazyFactoryTester3(new Supplier() { + Random random = new Random(123); + + public Integer get() { + return random.nextInt(); + } + }); + + new LazyFactoryTester3(new Supplier() { + boolean flag = true; + + public String get() { + if (flag) { + flag = false; + return null; + } + return "abacaba"; + } + }); + + new LazyFactoryTester3(new Supplier() { + boolean flag = true; + + public String get() { + if (flag) { + flag = false; + return "abacaba"; + } + return null; + } + }); + + new LazyFactoryTester3(new Supplier() { + Random random = new Random(123); + + public String get() { + if (random.nextBoolean()) { + return "abacaba"; + } + return null; + } + }); + + new LazyFactoryTester3(new Supplier>() { + public Supplier get() { + return new Supplier() { + Random random = new Random(123); + + public String get() { + if (random.nextBoolean()) { + return "abacaba"; + } + return null; + } + }; + } + }); + + new LazyFactoryTester3(new Supplier>() { + Random random = new Random(123); + + public Supplier get() { + if (random.nextBoolean()) { + return null; + } + return new Supplier() { + Random random = new Random(123); + + public String get() { + if (random.nextBoolean()) { + return "abacaba"; + } + return null; + } + }; + } + }); + } +} \ No newline at end of file diff --git a/target/classes/Lazy.class b/target/classes/Lazy.class new file mode 100644 index 0000000000000000000000000000000000000000..5b026d3b649e8b937bd251656b6fbaa8c6138086 GIT binary patch literal 205 zcmX^0Z`VEs1_nb09(D#Ub_Q-n2IlnC5=I6Q4Nae{#Ii*FoW#6zegCAa)Z`LtMh4E{ z%=Em(lG377Mg~?5&5#hFn1)S=6{cD{Od&=FuHgLAqU2P!%p9P8PM^f8NpZXx-*oI&FBp$4Q@EYRfI&HM&ICiDYue&X z@NOvFJ|9|y6uXYWtpRsU=}$q$zc4)p?Z~!;dth&Os z7%Fo|U?|<>nT%&#)p><`{eEYkh>|1WGpy*1DB0rnsC6>D6oya1Y|k9o+z(v3PD*c3 z32AdYk;5{q-xxYVXI*nWCvXjMXi6a#W0%{Ja?*ug+lJ+Mrad|q{)KaGlyVBv#)naOz^#BZN$QPL2K7pMC+D<8{WQLTf4$PK z@B)jdiZQC`g0M@EH%o6DNYF>pfr!ZJk}r{TbNegUC$f@QkUqtMHQb_qDat?rOXSH| z5z7=`AzKUcByyW9nhvX!Ejz!ZQ}(DgKO^x4$qy(um2Xh4k!TW>`i1m&s0`OgN%teA zCPL~W6tc@SuU07ST>IS2cZ3(Z_=rbq>?wMdH7?va6 z1n&mI>+yk2NYQXjZuhxoNq-6|{)IJW(2g8Ocn3Bgj|I5}!{F~HhurjCZ&Gb{7&7B2 z2gBOj5g1B0c_yP7S7lz|Ua!~LC!*v~_zWxcMwD!GXV^L!Tnf{tV76-w9qtDnT_;s< zPzh;sJdwjPtlk(pLT6obT{rMdacD^)7Gsy&k#f?7UpuDljxA?+Ec^@iOhr?}HXdup zA+KQvEfu>O?X0cgDV}L~ju#B&IlItM!X1W%7+19|mk<+nHhDeD_3by{U z@$k~2ZZ7Gz98>L;>)L`l6k7`C45gfcwDCa{?sGdJO_KG-DT8_?y_0iVV*NC}fq%Wy zo)`xtCSmAW!w*uH9VkG!8$guNLG=$X6QsHz&h?J FnZGh2Nhb*-nCx5WE~8l5r7xQKQ}`8{ z7>s@}e)dNh&+UqqXwdkf_q?C;+;h(Dx9^|709ZyNj~wpgkVPdA6$|31%2+HQjk`iv zlA+0{F=SRP#|qXMW-9uT@!HVBz_PW2&@ltcb+lI4>)96f8tNW{wBdF*!-#G<{6%=Y z&%Iq^-zH5_cTL0IGdxSku~G^SEuTTzavbh$*oN)1Zzjsz^_M*Vm-QC6-6-sq^z%W)(2hO(PbhYjMBW?y{%sKqc4);TwT#A2k zkj>EZxI^ZZL^0EKV!dVr?y+TR>k(-h-Ye0I9e%(m%H*Ox;b7SMpXk-!5s4e+T2|LF zg3zNGq$_HaztHS&2Z!7fZDyD{*Y1SrtSR}H8+s<+w8R`o6SG+o+d%Vr?wGdgTTZvh zgG09?V_CsH)D`4WP;eg;GFB8kz(WO(P-d98V2c!#P*(65PZ)+1wdU#!<)oYd%1}sH zNHRTc1YGDSYW^=<8(p6|mGR=))_=kK=h@MYTE3Vl@6Z%0YMZv2cIoGA=`yB!+%r7B z?sQsW$srjVY{uiQKLtiqelx2(ML@MWhYK2S!gl~)sJBBiA!Nv$YclBaEZ>+ zzyl+=Op>q_afR$-#4C}X&|D>s-VVy-Ei#|bPas9Kw(tQ%di4~k6HF74z9Rhz8HT1X z2*qMbI)(gFh$OwEm;r_oWdPRcd`cNNFpg)aU^BurLq6k#=o*~@e=SCrMitjF5u+2x t2VOUb8`vhvHboIbn1&Q{H!&M&Zefn7gn8V?C~-yd$`VD?y?M+?*&hdYIdA{~ literal 0 HcmV?d00001 diff --git a/target/classes/LazyFactory$MyLazy.class b/target/classes/LazyFactory$MyLazy.class new file mode 100644 index 0000000000000000000000000000000000000000..42d24012294c06cefe4d1fb479bbbfe7642829f6 GIT binary patch literal 860 zcmaJ<&2G~`7@UnwoTP@fX(<#ag#JL{LL;su%7IFikPJN}>VezFY*Sapj{H*;-ikv7 z;=lv&P>9($B}PFx_}kr?-TB6|`|J0Qp8#IrWesIKsiA?VRoud^E_)UZEIhODT)-Gb zslbMNDX(NZkm0EPCW->$v z-fXJ&{ZS~>Eatx*EX^f9p~E@q4qh(?+*^dE=IEr>kFwZPC%#T_tq{hMzC{~0nig6% z930xHplYLr6$>wP+zZK3VSe}dzn`Hr6<+6WicSb5jXon_N*0cZms(MehDzZkyZ#u1a`F^?ddSJ5%H_HMLd2e*37K Fl|St{%t`(ip0j>kkL#8kYaZ-|qF&_E*L+pC_%29Zi;H=Cjf6 zz4*tJ{|=?9sKs(ON|Y~lq#5E&ZWJ44NnA{!&hX?43uCS}T$E6D(L}?+I>TI!KR;@! zoL0zf20eB5TvpxmRUP%8%V@ndfE5c`=}L~+uF>{8px2`hMgZ9gc?Gy>WD3{FpQgx1 zOppgGHqXGCKTvqXtTR|&VK=|PUbnts;xoY(X6T%SP3KcOH*p=$uz=@efoeuU_$~S) nGK$Pmq1%_R`3r2}Le3&FXTt7aiSPoJag(eOT*NAF*pq(%Zde0s literal 0 HcmV?d00001 diff --git a/target/classes/LazyFactory.class b/target/classes/LazyFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..5b2ac2620d1ff78bda9bd826b28d2d9cc7de1b63 GIT binary patch literal 1053 zcmb7?+iuf95QhJC96NSWng(dgq4YpXlYp=ScO=S9)k;V%y+{;^%Z*uDSFRoTfMlKu zu8=_D0eC3Htepxwsv_0WdUpQV`F3WsfBydb4WN%#CJY?tcy2;LTgRaZRoWLOG-;1? zbaZqX>SyVBd?`Yke@z)0?|ol{#~zO&5$WhLXlH32(uS_@#v_JGr#od(kAqKwVcm9p z@gcdMiEzSa9w{w5aJV<+p)37`sK%FW#IR;d)+u-5AWR2zxf2Q=3n}&)4m# zc0KEJ;ybY$_|`a?&plU!gKm~gS+!^(G3>0&VAw1dlg@7nI#`uBoJ$qJg;Bkhb7^25 zO*zB=BW(Aj_;N`kZs`z_>xCpjXJan(!LU_0&@MfRRyiU)hP{=254uzAqed@Kek$mh zph^D?@+`89Y_<0T>^p4~wCJy8VgvVS-^dT(0UnZPU=v$(N+zG6lEsW)P(Bi%@{Pnw z0kB;F7}&-mia(~6Bc<|$yr;Aj>=63dZD>`ZtIO!4JEC`QLu(SPFQZ3yLMzzI>ffiX afF7zaY1VbMhBdPH$ZDj6_Ughax%~%A_SLKa literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$1.class b/target/test-classes/LazyFactoryTest$1.class new file mode 100644 index 0000000000000000000000000000000000000000..be72e241106b846deb55b2ba57823ae754be2ac1 GIT binary patch literal 770 zcmZuv-%ry}6#nkkSy!tR7@(p8y2Nc7>YgD>%#?(r>chz1@5-fIQg6xatqJ~B`XD4c z@CWcm8O~j6+@@`M?)mwh@0{D)-`6()`e--dVADeb&pgteyLjPZ%f&XsJ##Aa_B)2< zDB|BQ4tQ)beQ_jmvq!;wsiYY&v^xJpyJH4tm>mm-rAR9Ax%fH}`iM_b@~lKz%+oQ~ z(%O~Nv8@>VL#2csraaFDnX8M)?LKv`C&DnSb-K|R|Hi|Vt0X*BMkGR0v^D4dGC32m zrQ00IL~&DSV(?+6uu3RBg^_7^QmEL-OogN3{5+LH@6V+F=`$cmZc-1pJ6+A>z`isv`n?lS~`=PPM4Y))PO=V_Nc z4?-S8w>8v)8)0JvTJLnn*ruCqfG!a%2rL!)73%ag;gR>g1-#yyUtql})P9mx zgHMvGNWR8HlIvv_9w8u$@~3EwGH9#{>n)wOqQ-t$IfK!iV)$jW#0cI~fgc5Ph3Cm>5Id*5#`}3*?Xlgj;c>ii84{Dj7JW%6;Q5?p9`9t=CBHuYvY+cNs``@&?8G_2sYg3jo{bwBcagLko{Q(jL2b;$p+aCc_PLD2vV( z!*U$+)017Em|UOii^9C2;Eq(%3>d=hKhfTp!5QWUf?+9^N_;H8OoZO&lZ-qoah~vO z%(b+3?R0D_27gZ}p@$hS3PEPLSh=&kMXj5uFbr$mUVOyA@+jjfjrNogsn8S+=lq{0 zM22|1;<)u!_4K zwd;*hsrtTgx9(Q%y0X`m%2&Yy z7xBOc@QC;x#B3bYB-AVK?3|f7bJ_j*=lc%;J#-tW;l6`99yoZ24TscC8;@)}wz0)f z*T*t%zhG#NM*PFYE{}AYUF?fozary~R8sdD{NO)p=YYW)q=$lGWh9k&Uz|=vw$CRC zA*-V_;>iKeq|s-fWl}M?L#0GENO+zLQvGG-cCSaNtFh1wYe8pp!q0h_a21C`r9~_< zvib}7-sD6?rryR_#)|7AqY~cC12|MK*S(ix{k z7KvSH+VYo1^xV`&{l8UFlIBvy?}R>14{fwvJi)e$YiPJ|ux;b1ivS%LtGH#xvp8yM znZdhkw5*q5eF|M&uo?Rz3n7~BZIB7Bg|WS)F$U(InwQkG-Wcq2o)lv5h@lk>ubMJ8 z>8aE~o?xD5TA>G3rQgAILR~ubQK3ah_t|H#?pIVkkygPC+D#OjrtJ7Y&f`M;ck**`uS)hj(Zw% z^M7_>G9IWw{ z3c`a8(N!8;_N1p)7;^3zw7AKTs0MApFkbhhcpdFFMYzG6K1H(ipvC=79(vmE2NSv! zgHw}IgjJt+yMo-@D05+qxGm zkXl$BIM`1Zn13shE#(EW+=%w}d{2bS1L>!AR*2GW1X0)$Yn~n}HzLuT7L?|HAzOaX z^&LY#FB+a4j$u)gDaTU0uC>OL^U0wJT?hRQ`m& zC=vyU2R?wGC<4T1AkI3GniMSAGjnF<%$fCm`}5^1fOYs~l(6E$!K(3YFW`<#d)GnJ z!J3160`_hsM*`xFKuPa~@rm~kx?; zfdv$JO(+PcR*ghP7T-l&WVS-@IV(&}#eZ-D;eSTKw@+YwAXGq=UpG&mlH@yTjF%?m zsH4G%jX5pvmsxa%R4`ZbKf-zs*SAP1j_dX@!3k|0HvJz|`ID-CQP1z3-XjGYC-l{) yB)u{v?a-QB(f@?v8Br+*PiLBoQ*Ab`=Hss6dTy6-gVx4P+`=V#E;~!KeEtIT(y$8v literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$14.class b/target/test-classes/LazyFactoryTest$14.class new file mode 100644 index 0000000000000000000000000000000000000000..5a2e6b453a2f22aa830a975918c872adbc202d4c GIT binary patch literal 848 zcmZuv+iuf95IvhXapSt=LMWF4Ef63v5}|@Os!AxL2r0lrsyy(vakr@}V^_`^sr(6l zQ6vfy4}1WhQUr(}K%BKBH7QuKXXebznX}{l_UFr20PFB7C}Y)ujWy%lSint(_Lhy7 zjoUWv2w1zJ91Doo0%g4yOj-{F>ixcaceo{e9Vds|YN8)Axe-Kx-V|uI|H*cSgBK0zTGg8U69EC(0{n(e`P$q$ir=Vp<3AoRrNF}{cP9}zz^ z1&)9%N7Co(;sTbr7!LyE0{6MIH8oy4KJ|W3>)EO`5 zaO7@0U5~45?tQ?tMh@Jr=zpDI3<2I3k$SHek{JL6twL>KAE#XY?*9*qGDT zo{;q7l(b80awYE*N~c8S3_O`>E={#rxRi~%j4PR4!Btud*Ki%@={f8y)AIQXC6};V literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$15.class b/target/test-classes/LazyFactoryTest$15.class new file mode 100644 index 0000000000000000000000000000000000000000..4f2463e1689f50105a2112f8ef22064d619d7b47 GIT binary patch literal 948 zcmZWn>rN9v6#k~SrOQf7t%%|UwQ5_Gr6Rv1B-ltIsh3znqW`Abu`F3;$#&L=K8bIE zi9n)>58(S?G$zI~(>1iP$?n;6`_6a1nIC_@eh1LNQXb=|*l=*$!ksL|^z+e18h3T7 zs{d+ZsN3YsS-5B6zJ+;)T*PHJ++irSw)s2m#>x-eS0?s|vTDokR~8s1TP^-!Z;g8@ zjP^D}U+LtsFMYMbP_CZI);1Y3&9EyN3N2rX=kZQQL>s&lP^8ofJsxcG$k%=n%;-@J z&QmEx)C_pPFUT#QMy@oLXmq+Kl%87~kPf))xos8svPa3$@Qcp2@HE|g+wV!P;)obD zhx(F&q4nR!(o=pY-FCdY8~7qx9x6}9tPrBz4&%rZYrbBpd`h5sEhlaNM0!EkCuYxt z+6ucCTn7tiI4EM$K?x0p;%Vh|{DFfB6dWw#A%n#`+@sgQWz1*+M-PKU`Hy0x7_7uF za{_#3Cw(xZC=^k2vdu_vC3J3)gsz&CtgdS_F2#HGI1B^9rAfWPEL|rD4Cj!d`$mL; zVo|R~UYgz#&QrEbe=m_WHPiLE1F-rLQuS|0zb+$lgxmqF&s3Ab1^U{i?ihLe#1#2c zgFaluCGvo2gU<+;#7NLr$ui0n>R(_TV(b%grTjkIr_ca&!qE9e;J=CN9|Nq3Q_BFj yxJqzW5;!-3%hnHJpMc~{!|_maHer>)RWs@ut{Xdx8)P%MiCe^1??m#ErRN`Bwa91y literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$16$1.class b/target/test-classes/LazyFactoryTest$16$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7f19f8b3fa16bf07aabb050ad9d30d35fc7e2c51 GIT binary patch literal 985 zcmZuv>rN9v6#k~SZMO?8wH6c=FIC$`srB|pLV}GXn0kpNB>Hc<9m|qsmh8?N(I@dO zFcC;J@d11&+SJmw zb`iEo!lHpY2JRYIVkiV$j{F^lT7R2=;GIahUgu4$dqP&V<%Z3!fewSUE~N;19uGqi zGSvHh{%LQGJIW9CHbkhJ-N!m&*_EzZVVG^5<pT$pcr*sWPW2Ff`6UYj!DNb}SUJX|)sn9+%_JKn1QGlktD`tKqhA6sb!CcPzPz z0!rFD5tllg=*0U-I?DBBXAte~daekTPq?RPRtV7?_)*}9HCNYBKh>Ef-B~L5nRGlq zBxWy!+VV#h=5fzL73VC}(PgNfo`BZhw=j*0g$H=ZVDKS#XzS2RlZj{q&3`y?Cz6U7 z=8vH#O45y=7$w8P-zN^;{oiDL$&FzV8VxW79iarMG5*VG0>~j8p|s zt?GJ7%F?dmJXsrbdyRbTGiNUzfZ0dL*guecTSx8)g##F0$tQzZ`kUI1(Fj=vb0jyC zI9$L*l0Z6*&*-BLrRb}%3{>oIFb+}tfJjczs4&Csb=IXV6S DHLS|r literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$16.class b/target/test-classes/LazyFactoryTest$16.class new file mode 100644 index 0000000000000000000000000000000000000000..53494846db3ebb6470d9085d2d4e2fd7394e50a6 GIT binary patch literal 951 zcmaKqU279T6o%i)*P3;;X^gE}wbiDYL@|{%=!5J=f^Jq9kj|Q;l2w8+YWYIM>ntnEHC7HlZ87E$%ibH>U~lo8l&GzX{hqim-}2krN1 z=o=k{?O}R$7HAbyS03s~C`}qOOn0^VV1^20IB5?}ti#EEkA&L)Q&Y#=@u~7{vg0{* zW?XfZ41W1NFO6(tyTd4reRZg9m1+wWe`+&lIbVi;5GB0sYh_NNV+W5sJVwKVi>n?y zG?tIDhV_p1H9g!w&352oHz^RPOiMeLw!qekYTM3Uq|jnG8vR&FqpYvX#x?9HY%WcR zZEJIc9nPNvfh!P|ip_w7n&;ocHCnIptA`wafZKZV6{7VWxi8%1u*P?Z8sIM~d~eKD zSVxsR>Zde81v944vbtp36Xl=Czay&fnVUJ3U=e8XW}*yrbE?^>ydY?k9t&!7wV-0_ p8;T2%>^?I{F@qE^!`#B{DeexoxE631_fY0nmDeb7wU5o8&p%^d*2e$< literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$17$1.class b/target/test-classes/LazyFactoryTest$17$1.class new file mode 100644 index 0000000000000000000000000000000000000000..68982006b8a369edbd3ec631c699a0e2fa3870c8 GIT binary patch literal 985 zcmZuv+iuf95Ivil8^>+Z;HD`7$|XSJLPNNS2dYXXqEb<~h*Xu}ZR0GdD|cP_f+&0m ze^DgbN+9t8d=z5VHncRgW$(_JnKLtI_t)?5KLK>{sE87pIt<*@a4S!kdOqvO;dj=}FV8BF|p>p;F6n@{p49W%`;30#?huo%5rCypWL`Ts4#}g}& zOvKPQp`I8?2|sa^42ypyjjzN+mXf{|A7|^iT1rxU44-hYqepjK^*QYt7K2#FFgn)(t;n&7u>S<8`Qk6gD#^q2TA zFcC;3@dx;$j5Bv7ywq?_Z+4$&_L$`)oVR0Nz?TB~rym+iJ{3-pIlZv@){x$2huEXy6^`Q;B0wn(hm z^xFAZf#GUZe%)P_O%sH>YpQLST=KMMmId5G4_mAYBv*nBB`{R=w0hgwZm4igHhe;I z)u1W;x(q$ucfllwBCYdM`N{&tO0<*_m@E`eW%;S2o5l-txz^d)@jVriU%KYCv^1TN z!pvRly%bCNQn$)A6MDL}xJ(M}@u`S-*Vs}`zHH-^cNe@Um9BVH&7M5}8<}IGRD;a;}Ad6uKkFn4z zPF2oV*z1Xd30&hIo$WU{9P6GcjKIW6sGfUr@6W0bVrY0)LM4r2ZjM@8h=!%`n$3V# zU(E9$@RigN^-*A~XS{eOigirUXb(algFgBI=yLSRav5lspudX|Vn=E99;wJ@yfnQJ zQ949l=?IB+7s*5P@5A~*K7AOYx6OVcgR~gJIPFK{bGU-5v;$$RFX%^QB97HxQZzw! zr1TTk0WN(t~SiR97U4SY`@0Be`3+O*V-ZXlHHXhq}!qC(w zGVi@&Xon&Hbg{=Hon{vYBG<3UxGR;^Lxzt3pS6F;V2#ov!LSlaB|a1%ry@Jx(}a-K zFpYR}$TMm58EBbQ4DMJdk&P0b=YrI=W#--vWv<6UGpzgl@RXnPAmJ(w#!8D=WMu6u z;QP~45t(vZ6B#S6i;OCGI~O=}sE|U-BseZqq-CmtNpW_TNRjQ%x&O;EBuZzJ7Fi_r zr0J@&G@+NKHfsN!ijp*!Dt<5YNqS_X=i({0TwFuTg@Y{{&s_NEyI94V8TI0%dpiu? zWuH~K3>zhMb-iZjizI|-y0uXzxE98?O;hyEEwwMHXRR^V=R7II{xL(>A73?OY|=w% zf;_=I&vZi1sZPIx>x8;=8lpyvkiqk>V1w_deIc!e8?>89;012d-mSc_f;MS}!LTt} zG>sWoQ0hR#`hogqa+;?JN*b43$f2U~-cWF7Ie735)^c!F!$L4Dtd}XexK+yAxI@yy PU2MRklS9M}lJxxrGgq?I literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$3.class b/target/test-classes/LazyFactoryTest$3.class new file mode 100644 index 0000000000000000000000000000000000000000..2744e5d2de868073726fa36a002a2f9b1223ac58 GIT binary patch literal 987 zcmZuvYflqF6g|@iYnN3@DHX*BYSng87O0>`LSl*}HC2oyBz~N>Ls_!SlI<)J{ZpC< z7)|^E{wU*}X^Cxdlij=boIB^f=J%f;zW^-Zc?RPs+Hi2+!hA$iK z7xOl`k1Ra4uwcPs7>l@UhX)L~`aVD6Uab7UdvCB8#Hu~NTU=zAtk?Oc<4xXDVRXDL zx=NF4zVy{PL%wu@E$=X-s$p9&Ow@fT-o^(_5pDBkKuE40ws^3^BVYS{Fr`y5I5jCn zR1J8yE6AN1RW4R2bFw28!*r?Kt2yAZ9sbN6dx6JZ{QkLVdMvAPccV4h{e_}L!ngr z-*zxZ_s;>tWhCf|QiDJ?t4BdzlHMGqh|SaAJETp_j5~h<=AI$p{zURa9;q{ooxu7^ zF$ql5*EVq#WN20e@(aClxQc7!0W(IQkuHs|uf9T-5jXCBgLR5a-;w!3ZclK`P^(5v z7fWG1vFuBdxIu_6&?Bq4w0jDB^l)Y1aJpYf3O7xPTexlP9PW@!;V$k`jk*s;iOlmC DdZ*BC literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$4.class b/target/test-classes/LazyFactoryTest$4.class new file mode 100644 index 0000000000000000000000000000000000000000..c4f3adf5546f0099fd6ee04ca2f5b0d625ba79ac GIT binary patch literal 770 zcmZuv+iuf95IvhXm>5IdHZ7NODUgRGpt?nUql$zAl`0u{NR{`EySQ7Kb+le1wO`df zK&3wP1Nu>@v#}9Lz?Ns{c4p4Z`sVl5HGmzon{cqPMqAcd= zh-+!>%IVlv4E}*qLJv}&=Yq`D#menn>ReBRVOZ;QqZ9svhbdP{c%Y0(gr;a~&i{3M zB4SIoIh2XwrqIOT;|#D$C_ROdY51*Bv5}byhs9))N}=~=(*N}7Q%P@_6*?CC(oWS{ z*wB{cM&o}{ahl~)C7*>k&W>EX^zjO>eYm*mqiMBetk@OLZ@9h75d595q{*-`b^V{G zUG{tt@))|Uffn2d8+%9F>vTuhq?>MlE)gsUEEW0{>hv|?k@p^Hebnd$yxyCiV7*J! zF376ECrK!h3inB_msxm#fGo-hI pHhRBMUj&x~N^qkh;Gi{au|~vftA}_*r-R3Mf+f=Icn+QP+yb;Aps@e| literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$5.class b/target/test-classes/LazyFactoryTest$5.class new file mode 100644 index 0000000000000000000000000000000000000000..8b12315d18dd213d77a82706c3ae3746e87fe6ea GIT binary patch literal 841 zcmZuv+iuf95IvhXabpa1+B94Wv_L3MkT4+ii7FBbREiYnL#n=S+^xHnyRPhYr1Dkp zz(qXp0elo<)(&bC>XmnP&di*-?Ee1q^A~_u=rvHoeFt?saPSaY4yoHV9@%(o;|W7u zpUSNBlA$>o@lTigJk&{gc_=ddhKzesN!@2?`TtqFM-0{=ITj47BdNs4{CpzPLq3TK zSsNuGkB@jNjXnb{lZwF|DkaiE%(G08y1vZZ*`>_YNN9!)zdJhPQy#=zMZr*M5s8$n ztp)sGawbAkZeuJX#dV%i1@GnpXAUKjYZ(V8xeB#RR4~pjE@COty*c-PdHO`@jFUVK z#lAFMwU#FI!qi6XzgJkFJX~tea6UPP((p z;9d1umdmhNK-br6hQ3Hbh^AW`q=IW0%=1hq^qi{nJGeopOQ$|6v;F(D!56zi3Bum(cUh-u!<&WhQY8g zS~QIrS5W9c&H91rXL6dSnHDrIxsXFiHNXG-_yyn*o~JQ^f(-|EE!;~Irk^7laopFGtN)5N zN?5STePH3Cg+&WxhE&L9JJ@5$)_3^^cVbqh-jQ}sIU9j^113c|xp z(N&sU^`xiP7;^48wz$QRs0MApFj@Dcco*$8MYzeEJ|Wq9(Bl3U4?XP>z_F2U#pLWX4CY@y8A>VbZ}9tXQZxc#3BZu3}CvV{{jV%9(_jM86@1 zxqqtXI?`(y6(K~?UaO(tN@$Miio0fy?i+0^DLyIc-oQ1g!pINLo?;HTABl}^hP+$* z-*zxh_s;>tMa1ZeQiDJyqenqroZc*^iOtd9dn8TFY-!;btaOT4=_leJb4Z*bbqwn( z#l$c}U)#j>kj4@6fgc5Ph3CabsNa(NI1Lv_OEwNCdd_KvfAv6d?sTq{@NY#@(i_j9ocvq;e|) z#9!cF6p4bwfgiw+LcFyjH7QuKXXee!o44cr{paT|01x3+P{yhQ8*9e9v4EQn?JXNE z8@FxT5wLbcITjGF1 zlt8r~MCxVwW~7pBISPq1`mry=p-ci3PeIF!5^$eKkxF`@oJC7~XmRx=7275OgWJhN4L&sbq z1c)d8qDT}Z9{2!03UStn)TCg^o|!WlI_n)7?06c_WK^fN_*jO{(jRo9vXm8nQ z+PH1wj)1ir$&r9~El}2b;kfxgpw{cjcZXXt&`El@t;YH>lN(_i>P>-0>z{0UK%Q>0 zqXeqGFjg@+>Dllp*{csdZouw4eo#~qvOpr{6QD--c105!Dr=J}h zM4?JIX3D2yHp%GplPnF?R%p)DIJ2MoMi~$PG!CLW-b;3D+;!1H+r=VW7fZ&g zz!9+JPzHQmoX3jU_x!q>>jK{CVJD&mR&(h8s?Fx-Nr-6vx^AkZRwnm|t8BFgSmO<_ zA+Ue~FA4Pko@W#?D)L>zIcBT$p0UEzRQ-D=5dIGoeCq_ouY?Nl_;vF15lP;o#&~5? zjyf8Q*qGDucA0a|kP7B%{x=lAV9_s6ECPgGV#XrKvUx7xQtKa5=ZDxI$~;Dz0Ifp2N;EEuX(VQ>|?P literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$9.class b/target/test-classes/LazyFactoryTest$9.class new file mode 100644 index 0000000000000000000000000000000000000000..9e2e2e16013bb1ac9ba0193af55f4709c75b2edd GIT binary patch literal 946 zcmZWn>rN9v6#k~SrOQf7sfgkQwQ9R4OHqFi2?;imVCp57km$eZb}UPlS+boqq7QuFVIJeCn6Plm!0jyA^!L$38h5m- zs&BP1*d{6S2JRZTXJCOL7joGNb{R^|9sZ6xk@9@!Rcw1iUbXG@DvJ!0%_je_zs_A1 zg!`MKr?hj$lb%{-C|A#TYg-JNM$i!qg{CLP^Jup%!cE@x$x>uE85%hJrS-9gePTI3DIl?QRs?wPxn+Fna_frCN=*=x_;0jX3vD$ z4mt)L3yY{*C}Pq=33Z0z=-{<|$-)E*7VhH#gTdR}rDNd|X7w_LcTrjX4-!wJ-x0&? zDejq;^jd~N$f9VkjZknUv~P*#T#ffweX7N{6z|pJAn*m3vFi=y=rLJfIENIyHsT8u zi@Gz?(sW9gB5#>)FOiL7X6*SRF#7~4`xnx$%gCG{cLd`*#iVea{$?C^fIL27n)K;@ z9xmV_X~0a3&j^=hk)W@UWaKN@KVTeV>@#wu{2@CeQy+99rt^iszY^JRF|a01DShDL y8o^yo;G6_5Yahcr1b48_*~ literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c389f9b6373aa07efc92ed12f4006c28f294cb04 GIT binary patch literal 1048 zcma)5ZBG+H5Pr6I^lUk8IV*yQRy^@~Ace$l5Wb)!Bvlhz`Rw*s%93-hxfhc9t9&Cy zKllUuQO4P88*NQ0o7~RM?94MW`^^3P_5BBc9c-6S!~?ypm0{sw2{zn$T*D&^>lPkc z@EGh19=b`^?}t*v46Chke!-hrD#PY!rh-&Ps@Wc0?=lqAGnu&C7JLS$#orGOd5}i& zpd*r0#5;s{q?CvcLY^cdVQ^bhPVSUWK^k^XDw*yxJoBy+FtfsUCJ&`ihyvDG=kgHzvRrg#3 zDMgjqvZr{O#Z<IN$Qz?hys08EYPh(r#GYL zC78c?iGu$X#z!(4xJi4F9DzmD@?8g4aEo-kDmf&>Z93bz-}sK{$0TT-;x$Q);e3K= zzWof-|AN9d%rSf*>o7|>FKdYkUd}TO(VS7HKlo$I9f~Yq1tx~4yI9RF_i&%2N!8SG RgH8^4*=XQ8As0!f^&27~_qYH6 literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester1.class new file mode 100644 index 0000000000000000000000000000000000000000..93482968f45a0ca80e15cee766c6ab57d76fb8f9 GIT binary patch literal 1387 zcma)6$#N1=6g`iI08J}MCWp+D1js<*5H%n%CZ;MWj0>n#x$KY@J4Kq?8dU+W?OGIKTc9sv zTBef~n26^N_1AjJboATUL3X>MjOOt_Oxh_(%t}{ud1p?J(G=b5cWJvp{CS7n-cTHnOmsg55 z?8>@TNQ&?8ahj_cHE+vxB#zAp^(nf$y6^!El{ZLuys;sDiF+@B};c)n~9q4 zndF9@%yb}AEH~?-#HAvhDXgBqTK2q3K+RWNyJ&2gvN8i*iC&a7))2nM=GX8ZzmNcYNr zy*)!6;RQlP+t3|D>No(s6Q6E00*mF9cs5hXaG1P!;$I1lRP0jf(B;^q);Ui$k*XXl z+sW%k%=v7y$Q^fVlJC^Ws%j0hC$C(+%;xpQcXp&Y+;I^(!kFOjtNb%yW5}v;=iwJd zgz^e^KjDRsaxHlRp?rqt87Yd?WXBZF|pxZ%)9O62{ca-`uEK#mt5?M^4pQt+wJ&s|bFB4A^L=REQ z-7v0_^dOSBhU+9df}6O(RiO`1+rp2v@#Ag$L>oUz{1g!$S_crrG%@npqm=UT$tz3p foPVx;b#;H+Xa=*?dJu<38RafW(jmH1c;@pLcy(0c literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class new file mode 100644 index 0000000000000000000000000000000000000000..33558f260886b1b107ea255767fedfe9cad7885d GIT binary patch literal 1048 zcma)5+iuf95Ivi?F-Z*$CX`Dlgkp-5mZm|xwdzY~q)GuK68g->UDB=0I`XAb_$qD{ zf(Jf;k3!5ki6B7=UCFyMvomLA_Kbi2`u+nz6FWr|a9?lhC75_ngavmQm+;WUhKWZe zJO=BG2X34Whk+Ck!&>K*pYcYT$e{5yRemBv)#y&HcNq%FiHzMH6Lkis!{3kE+)u)2 z)Dv+cq9=rRsFa9W0gq!5Gq{~OCwES#APu`Gl}z>-o_QAuSXgB3h{0%u$AZD`NF`pR z@A@L@@qR!SrxW@-IO37i`ow7HrWiIZklJlhwJWnAqu~@NKM)B+#jA}A47eIJUiMFg zpHNh>D+h`vX+&i#d9_}TY)}7nT-4hh1?^K!+hizb^YK?_466%9#zcc*{r}Jm zRc}$}yPDO!mvI}Vir8X@n%~))QKexw!Dz;F<+5%Qpp$y0A0kIz8CU7nA?Y>gc{=U- z<~dk>>m0fISL8pEDUWNk7swH4p+fsg7Hs1>NqX5CB*P7ot;}zF$Mj>8w@&ejPL1Jw zf?>S*45R)9xo=ov_(0ZimQsd%Kn1t6Ok*@>lIair)N-35b6ACev2+J(ndL6-(P>aM TRa_y-AukIxTqfiK>9l?Wc)9pR literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester2$2.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester2$2.class new file mode 100644 index 0000000000000000000000000000000000000000..1ffdcc8ccf64538e9e724f5c15dddac473caaba7 GIT binary patch literal 1553 zcma)6TUQfT6#h;!Fc3zQBH+Cu4G;nvwKpqx0R&AOwUP+SHxI*zgTtAulNsCe*=$M9VrzQ^SZe!vxTOlL5It2VCLxNhTyK;JVNl0?Q3tnCw(+BbpHQ)J z$H86PGtAF6?mJjQ)eLa&kUM$KFVC^(c5~cY-SFIq;O>f+VxpG&TA)k*B7GLaDR8H=b?vLD8cFwQO-q+hr={Yo+mlIR z&1x;16~7U2GL|WoM(Z9!3=}3l8epqS+O*K!>q?h~aTza^|L?MIl)*xIUwJOn>!ppD zKSybnf0Sm>jQO>6RF#{of4q%TGTnAf`=lgX*$&t-%o`>Pjt*8XXBG$`o58BhIO`Em+0B(DjnqG|uqsrVqGR!#szQ zI45uxBjo6Bc9;6E`0XTiJ38(iM%&rmFp|k%F8+zsHo8|{prOmhb)K-yW=w*WY=s}IrB^Fa9EDu=3 zGN!PCInvvBm^3j=9|so3FwQt*Y^6ZROq1nyW4rC_NYa>~K7}GCNiE*tQ*0iDJjL%> L9B1akBqLHs4PNZ3wB|l3M-Y?7KUMfq08)ccE*VD zQZGzQZ@e&GN=$m8H*FJ^NMd?nY~o+=!uUtj=gjc21q7UA&&PY7_dW0T+28;E`4<3J zQB=`{R28alT}3s9#A;Z8xyDk?Fq;HChLi{X6*A1IhmQHx0xHOLC$ zhhjA)hFc0gQW3?pircs&hK~gxrQoiF`i%bB>acFOd1p0i7G2ZnlAxt++jLSny;wAh z62gvWbCS~h*%D5q@^;bHZFfq~d1i>Zs}e%GfJ8IP`X_qAbFExrz;X1|j8$}#5~?Px zMO$}0$CMC12-6!7bGp5lxH-3M8g8pnNBi3 zMJ-eLd5W*iShhLtt<0HDR-em}QlH5idTvU0EV17rMiwkv&k2hx{)lQV(;#ir4~|!G z&H15E4YMFFqc&l8$)b_%nLR#h-?OI=iLNYeX(!?Ap~}k>qPeSuZIk22(7QLA^&Q_1^8qPqXh-qantqd|C6cdD4Z?>l_P}`}ppCmz@%zKVu4qGAzPVEWN zW#Lo}uc2Q<8_sFCCst?CA{_o=MeN-(y6sm5>x_a~4Lar|v>hEI1qN|P%NCO7C7j%q zxKl_POe{#K^N;*e30!(Sox6nOMKLUCu&}J*zOXrmehDqRA`i-a4J+tZU~9;upy2_S zmt|T6QIH@TIaBA+_1G~oEqPdm`2}5F<}3--2J_oB1&tl*@B~T*sm`*fEt4VI8;dxW z7Ks$n=jr9>Rvwo3o%n4D6aUwO|E$b(P|@PbhVsiMJlhuS$hS1KXi~E%H9IJgWj0$! zXuh1c*nVpZj%B-(u5R4VI=aE+uFE@%iDi#8=U*Qskr zM&<4ZIi+=+xYbC`n(0l{PIq34MlP06SHerdK~!Ex{WH|8b9{xb`KE>tr(yTd z!0{Tw7=VgFzPTwh^TF=G2(DlhJ;P z^FKxxb#KN`A)J^L^rLtf^YE_Lm0-}M0RoxINuSBK4;GkXOf%&zL&TlQSq2tzWp2{oIz-4i}f0vCbDP{FLQ1py^8K?rodY6#U}^T Ezm8{IUH||9 literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester3$1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester3$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6a0d6bfd4560187c15cedce02bf4c9476514bd08 GIT binary patch literal 1553 zcma)6T~`xF7=9*MSO{B_BKZA5X@C&WNYz#gwFL?_Hi8n=TZd)ErORy2WLKMB`%Ap> z%5%gTw7uv#z3so~A8Gr{CKO3Il|5(Yoq1>8=Y8IfnLqye^)~=hxYvs#xL}5hW+<8A zQU+N}W$+m;+qjZ}jjO#lfzSK!1+Haq9bcMZI)fQ}W#fj8uWfuI(Dy_J`8BDv?`eU2 zWm7(pr8x3~k{c>F*4k51X};kGzB|`CH7$@aMvr_YgR+3&pD4B(75P&`pu1uuk99|n z{d)eAjX8mSqg#}26zayRSC2e>S->eP<>~oA*6Uu~c<(rr?^x5wz|Q!}k8TL86b@r> zn2^dX%H#J1tod-=6UbJ4N|a5QOv{cat6hY<%iQMPf* z!S|@xxb0vG%Vu%M#$5+1sG0)qFLLLa^~+BQ#2r*C?f3JY8D0!xp-TkICsT-5ALixWY2cirX$_MIm zq24HM#=IP*S>7m3(2TiSI;zSo@*ivGDXDIo(*Z7-u53rzF~k=p3ziO6E@v7Dpkxmv zl5Lbob{F5L6#p|g%hTsLd&qSc<*DLC6QVfTM5=hUiFEO#)r3`ii>__%rg5HQH*J8I z^adgtoKyG&!<1%b&;>r_+)2*u?y>JM()RW{k&Ior_y(yRbU%23p31}ydS0WKsx*J= z7i0u>(Dxucb2_*F9Ov76J8=Hpeus~q3Gw3ZKerQCJ?P_u+9ElMUOIS%9{f!0Hp#qZ zTHcUE6O+W9qr8cCNf1M{abRH-W5gL{C1X*qewinK>CXI3Kr%=QMrNuXVlEH&1 PPjNnrlk|LqYkvO#=sJ20 literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester3.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester3.class new file mode 100644 index 0000000000000000000000000000000000000000..3babf04df6e674f171cae1b16f279e1e50505d12 GIT binary patch literal 2128 zcma)7TW=dh6#gc@Y_i_skk%)9{K81F!0cA+MNc)oD^~=QO;g zqYJO=m_k9_jcOYn8e3m7@avE1>Btk`H3Pb!9Ve*S(BDN5P(Vq}OmQf#hy7*??J*&V1_J z?1E)_nNjLRv$kVIJYFpmKAyK7YqGI8Yq>=^ zTOp?_Uo~Z=Bwbt4Ys~1J?Z^tF5jGd4`dU25IZS}tsCicT%txkGQ^x2`*t=je$btN} zWDRVinLJ9j*VnugICxj*8RlYBLGa*1Q(2ppuFJ@jwat{8RmW_&uH|^C@upd^&C`LD zQt&RgmMqh~?yccAYwIB=@5AqGvFInhzs2f~bgv7=e86?;o^>ty9{TWy?pn?OQPs3P z%P4~m2n{O6V78cUDb#wa>|_b(g=)h!tqEK8z`kuII2164<+mxbZFwyp4ARI{hoZ^Meejns0rL+i5n~zzK!?uG-!+ z@IGb?NEOU1(gMAkkh`_A0aHa=Heg|HivvME1tMm}l5DeEN%MoED^2!SXVslgEi~AwsWDDVC9A8k z>3RjZ$os>shS$1wr=esCeVp>$9I0)12t7CefrowS5sqp$D(Odkx{nfI@%#CG91u6r z0gariLn{zh(6)@wk!uK_T}5QNQ(u8Lxr%oG)R7K{Mk0wwr+x{UL}VmNX|W9bd{1~4 zvFTM9(?iD+(W5Kavw{bLi$r7@@mq*3qw}+fSo-(Q20~v?c=PhXCFtpBPjnf3eX+j+ zv5rgVr4e7w|AuD>cMbb|p}#LPs2V=Or~F?EVSquDkl_9u!uTFKmJr7eOvaDA`w7SK zGfv_cr12{XxQ-d}=I|R4ZV=;lqTIwq+`{MNeSzEf8h0pt8&~iL4iR;Zh$o5i1d|)Z zVVvSRz<<$;T!ToGXVXr=`-MmW literal 0 HcmV?d00001 diff --git a/target/test-classes/LazyFactoryTest.class b/target/test-classes/LazyFactoryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..bfe5da8901eda3c6c886db049a74470f2b81ffea GIT binary patch literal 1919 zcma)-O;gig6opUP(!dKsDHTBxORZ2)DdihM1S=?70RfAs3qy?Ji!?%g{2 z3tTZHGyVW|<;tCV_iojD+jj`lX2dLV`rP;Hoc1>P{QKi400}%6xQHng(<-hDc##zF z;D(AB0Y8!|W(BHQZ>qQ@P|M?j$L9pd*)B5-A&t zma%Tpq{gyhG{LJM^6in!C^@QFL7t93%5CAG%Vt9^wPBaqh)ZqMr8f3I<|sjV!$lK) zZbkaWDrdU1T{PjkCnc_2PLV5%l)17Ukg+=wr%Z|WIaL6cKD>__UA zSVar-zabn;6{i<$BO8BKFf-hq@#VtycGl3X@$NJ_&_mA-zI;%)x9Hwa6em?kt9tgK ze4q~=4A9+QECw)0pX*8!Foas^VDU0G_o2c-LqX-#)5VOYCP>9j<1s zVRjA*k{_Upo=cbM*)l-Rt{gcuArBp;IqZ9kMoZ?#i&iEMt-P03v;zpTQp-ox?c)Sl zVXkLxa5%u+=x~s^$>9+5Nr#)6Pcb{z+o6&PldRiheV457VG6IYh&OnGw?|@V$HcgL z7~_kKv3GzLvfawZp5Dh9iox8*eAeN1=5r2*nL8YgFrRlg%6!4$PUbF$W6a&mPRvf! zP|U9s^BcwdPBDK_%%2qV7sdR8ZKWQsl<<+bd;g5 Date: Sun, 14 Feb 2016 20:55:47 +0300 Subject: [PATCH 2/6] fixing problems --- .idea/workspace.xml | 439 ++++++++---------- src/main/java/LazyFactory.java | 31 +- src/test/java/LazyFactoryTest.java | 97 ++-- target/classes/LazyFactory$1.class | Bin 999 -> 999 bytes target/classes/LazyFactory$2.class | Bin 999 -> 1051 bytes target/classes/LazyFactory$3.class | Bin 1277 -> 1258 bytes target/classes/LazyFactory$MyLazy.class | Bin 860 -> 865 bytes target/classes/LazyFactory$MyOtherLazy.class | Bin 993 -> 998 bytes target/classes/LazyFactory.class | Bin 1053 -> 1053 bytes target/test-classes/LazyFactoryTest$1.class | Bin 770 -> 774 bytes target/test-classes/LazyFactoryTest$10.class | Bin 772 -> 776 bytes target/test-classes/LazyFactoryTest$11.class | Bin 843 -> 854 bytes target/test-classes/LazyFactoryTest$12.class | Bin 989 -> 1002 bytes target/test-classes/LazyFactoryTest$13.class | Bin 848 -> 862 bytes target/test-classes/LazyFactoryTest$14.class | Bin 848 -> 861 bytes target/test-classes/LazyFactoryTest$15.class | Bin 948 -> 966 bytes .../test-classes/LazyFactoryTest$16$1.class | Bin 985 -> 985 bytes target/test-classes/LazyFactoryTest$16.class | Bin 951 -> 959 bytes .../test-classes/LazyFactoryTest$17$1.class | Bin 985 -> 985 bytes target/test-classes/LazyFactoryTest$17.class | Bin 1115 -> 1137 bytes target/test-classes/LazyFactoryTest$2.class | Bin 841 -> 853 bytes target/test-classes/LazyFactoryTest$3.class | Bin 987 -> 1000 bytes target/test-classes/LazyFactoryTest$4.class | Bin 770 -> 774 bytes target/test-classes/LazyFactoryTest$5.class | Bin 841 -> 852 bytes target/test-classes/LazyFactoryTest$6.class | Bin 987 -> 1000 bytes target/test-classes/LazyFactoryTest$7.class | Bin 846 -> 860 bytes target/test-classes/LazyFactoryTest$8.class | Bin 846 -> 860 bytes target/test-classes/LazyFactoryTest$9.class | Bin 946 -> 966 bytes ...LazyFactoryTest$LazyFactoryTester1$1.class | Bin 1048 -> 1092 bytes .../LazyFactoryTest$LazyFactoryTester1.class | Bin 1387 -> 1475 bytes ...LazyFactoryTest$LazyFactoryTester2$1.class | Bin 1048 -> 1053 bytes ...LazyFactoryTest$LazyFactoryTester2$2.class | Bin 1553 -> 1564 bytes .../LazyFactoryTest$LazyFactoryTester2.class | Bin 2345 -> 2309 bytes ...LazyFactoryTest$LazyFactoryTester3$1.class | Bin 1553 -> 1564 bytes .../LazyFactoryTest$LazyFactoryTester3.class | Bin 2128 -> 2090 bytes target/test-classes/LazyFactoryTest.class | Bin 1919 -> 3277 bytes 36 files changed, 286 insertions(+), 281 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index da99404..e4f7d2d 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,14 +2,8 @@ - - - - - - - - + + @@ -33,10 +27,10 @@ - + - + @@ -46,35 +40,44 @@ - - + + - - - - + - - + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -85,56 +88,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -149,16 +103,6 @@ - - - - - - - - - - @@ -192,9 +136,9 @@ @@ -239,7 +183,6 @@ - @@ -259,6 +202,20 @@ + @@ -689,33 +647,34 @@ 1455284315959 + - - + - + - + - + - + - + @@ -744,12 +703,9 @@ - + - - - @@ -757,19 +713,31 @@ - + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -778,56 +746,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -855,71 +774,64 @@ - + - + - + - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -928,6 +840,14 @@ + + + + + + + + @@ -936,44 +856,85 @@ - + - - - - - - - - - - - - - - - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/LazyFactory.java b/src/main/java/LazyFactory.java index fef7443..7444bc4 100644 --- a/src/main/java/LazyFactory.java +++ b/src/main/java/LazyFactory.java @@ -1,8 +1,4 @@ -import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation; - -import java.util.Objects; import java.util.concurrent.atomic.AtomicMarkableReference; -import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; /** @@ -11,7 +7,7 @@ public class LazyFactory { - abstract static class MyLazy implements Lazy { + abstract private static class MyLazy implements Lazy { Boolean got = false; Object result = null; @@ -38,11 +34,14 @@ public T get() { public static Lazy createLazy2(Supplier supplier) { return new MyLazy(supplier) { - - synchronized public T get() { + public T get() { if (!got) { - got = true; - result = ((Supplier) result).get(); + synchronized (this) { + if (!got) { + result = ((Supplier) result).get(); + got = true; + } + } } return (T) result; } @@ -50,7 +49,7 @@ synchronized public T get() { }; } - abstract static class MyOtherLazy implements Lazy { + abstract private static class MyOtherLazy implements Lazy { AtomicMarkableReference result = new AtomicMarkableReference(null, false); MyOtherLazy(Supplier supplier) { @@ -64,10 +63,14 @@ public static Lazy createLazy3(Supplier supplier) { return new MyOtherLazy(supplier) { public T get() { - AtomicMarkableReference current = result; - if (!current.isMarked()) { - T newResult = ((Supplier) current.getReference()).get(); - result.compareAndSet(current.getReference(), newResult, false, true); + boolean currentMark = result.isMarked(); + Object currentObject = result.getReference(); + if (currentMark != result.isMarked()) { + currentMark = result.isMarked(); + } + if (!currentMark) { + T newResult = ((Supplier) currentObject).get(); + result.compareAndSet(currentObject, newResult, currentMark, true); } return (T) result.getReference(); } diff --git a/src/test/java/LazyFactoryTest.java b/src/test/java/LazyFactoryTest.java index 36ce30b..e9bee79 100644 --- a/src/test/java/LazyFactoryTest.java +++ b/src/test/java/LazyFactoryTest.java @@ -10,8 +10,8 @@ */ public class LazyFactoryTest { - static class LazyFactoryTester1 { - static int runs = 0; + private static class LazyFactoryTester1 { + private int runs = 0; LazyFactoryTester1(final Supplier supplier) { runs = 0; @@ -31,33 +31,38 @@ public T get() { } @org.junit.Test - public void testCreateLazy1() throws Exception { - new LazyFactoryTester1(new Supplier() { + public void testCreateLazy1Null() { + new LazyFactoryTester1(new Supplier() { public Integer get() { return null; } }); + } - new LazyFactoryTester1(new Supplier() { + @org.junit.Test + public void testCreateLazy1SameIntegers() { + new LazyFactoryTester1(new Supplier() { public Integer get() { return 1; } }); + } - new LazyFactoryTester1(new Supplier() { + @org.junit.Test + public void testCreateLazy1RandomInteger() { + new LazyFactoryTester1(new Supplier() { Random random = new Random(123); public Integer get() { return random.nextInt(); } }); - } - static class LazyFactoryTester2 { - volatile static int runs; + private static class LazyFactoryTester2 { + volatile int runs; static final int n = 10; - static ArrayList answer = new ArrayList(); + ArrayList answer = new ArrayList(); LazyFactoryTester2(final Supplier supplier) { answer.clear(); @@ -104,28 +109,37 @@ public void run() { } @org.junit.Test - public void testCreateLazy2() throws Exception { - new LazyFactoryTester2(new Supplier() { + public void testCreateLazy2Null() { + new LazyFactoryTester2(new Supplier() { public Integer get() { return null; } }); + } - new LazyFactoryTester2(new Supplier() { + @org.junit.Test + public void testCreateLazy2SameInteger() { + new LazyFactoryTester2(new Supplier() { public Integer get() { return 1; } }); + } - new LazyFactoryTester2(new Supplier() { + @org.junit.Test + public void testCreateLazy2RandomInteger() { + new LazyFactoryTester2(new Supplier() { Random random = new Random(123); public Integer get() { return random.nextInt(); } }); + } - new LazyFactoryTester2(new Supplier() { + @org.junit.Test + public void testCreateLazy2NullThenString() { + new LazyFactoryTester2(new Supplier() { boolean flag = true; public String get() { @@ -136,8 +150,11 @@ public String get() { return "abacaba"; } }); + } - new LazyFactoryTester2(new Supplier() { + @org.junit.Test + public void testCreateLazy2StringThenNull() { + new LazyFactoryTester2(new Supplier() { boolean flag = true; public String get() { @@ -148,8 +165,11 @@ public String get() { return null; } }); + } - new LazyFactoryTester2(new Supplier() { + @org.junit.Test + public void testCreateLazy2StringOrNullRandomly() { + new LazyFactoryTester2(new Supplier() { Random random = new Random(123); public String get() { @@ -163,7 +183,7 @@ public String get() { static class LazyFactoryTester3 { static final int n = 10; - static ArrayList answer = new ArrayList(); + ArrayList answer = new ArrayList(); LazyFactoryTester3(final Supplier supplier) { answer.clear(); @@ -203,28 +223,37 @@ public void run() { } @org.junit.Test - public void testCreateLazy3() throws Exception { - new LazyFactoryTester3(new Supplier() { + public void testCreateLazy3Null() { + new LazyFactoryTester3(new Supplier() { public Integer get() { return null; } }); + } - new LazyFactoryTester3(new Supplier() { + @org.junit.Test + public void testCreateLazy3SameInteger() { + new LazyFactoryTester3(new Supplier() { public Integer get() { return 1; } }); + } - new LazyFactoryTester3(new Supplier() { + @org.junit.Test + public void testCreateLazy3RandomInteger() { + new LazyFactoryTester3(new Supplier() { Random random = new Random(123); public Integer get() { return random.nextInt(); } }); + } - new LazyFactoryTester3(new Supplier() { + @org.junit.Test + public void testCreateLazy3NullThenString() { + new LazyFactoryTester3(new Supplier() { boolean flag = true; public String get() { @@ -235,8 +264,11 @@ public String get() { return "abacaba"; } }); + } - new LazyFactoryTester3(new Supplier() { + @org.junit.Test + public void testCreateLazy3StingThenNull() { + new LazyFactoryTester3(new Supplier() { boolean flag = true; public String get() { @@ -247,8 +279,11 @@ public String get() { return null; } }); + } - new LazyFactoryTester3(new Supplier() { + @org.junit.Test + public void testCreateLazy3NullOrStringRandom() { + new LazyFactoryTester3(new Supplier() { Random random = new Random(123); public String get() { @@ -258,8 +293,11 @@ public String get() { return null; } }); + } - new LazyFactoryTester3(new Supplier>() { + @org.junit.Test + public void testCreateLazy3Supplier() { + new LazyFactoryTester3>(new Supplier>() { public Supplier get() { return new Supplier() { Random random = new Random(123); @@ -273,8 +311,11 @@ public String get() { }; } }); + } - new LazyFactoryTester3(new Supplier>() { + @org.junit.Test + public void testCreateLazy3SupplierOrNullRandomly() { + new LazyFactoryTester3>(new Supplier>() { Random random = new Random(123); public Supplier get() { @@ -282,7 +323,7 @@ public Supplier get() { return null; } return new Supplier() { - Random random = new Random(123); + Random random = new Random(1234); public String get() { if (random.nextBoolean()) { diff --git a/target/classes/LazyFactory$1.class b/target/classes/LazyFactory$1.class index 6e0467aac7f75afc62090c034a071faf60336f17..0b584c56bc5145c70477acea04139b4162477b84 100644 GIT binary patch delta 33 ocmaFP{+xY-ATy)rWFh7%UI_*+21y1X1}O$52ARn-nSB|#0Dam95&!@I delta 33 ocmaFP{+xY-ATy)HWFh7%UTFp{1{nq+23ZCr2KmV|nSB{K0Div)9{>OV diff --git a/target/classes/LazyFactory$2.class b/target/classes/LazyFactory$2.class index 636b19216a3371104fc0c33bc6753660baf76aea..2063789183d00ed1d3d5563fe3ed592052410719 100644 GIT binary patch delta 228 zcmX|*K~BO@5Qe|^UQ0`Hw>))kTT5pTLrlMHlS?_~jiOzSggtL6t w+mwMq*3`L@qeu<+)EtOAArS2lkxAm5W0J1G(x=CW3mGDxDABQdF%uR20iAUv6#xJL delta 175 zcmXAhO%B080ENGqwmNEvbU~zvq=d#0Vu7`T*g247R_YR!sOZi$xPXOAn8xP)=Uvn% zJPo=LV# zab|AFJ6=v={0DxCG%gCBG%7+tNl@FuO(kuIF}_1X#N6oxBbIbrqW^dH diff --git a/target/classes/LazyFactory$3.class b/target/classes/LazyFactory$3.class index 72976f30af3e96a91a79d2516b320f641eb0fd4b..cf17e6204f6b3757c5d302c45281e8229456cc7d 100644 GIT binary patch delta 296 zcmey%`HGY4)W2Q(7#J7~8EiIk1u?2}Czlo#rRJ6RCKhEgGB8FlGVnr0{FAa$lS>#G zm_tG)zh!LaF=b~k<6$sou;5{^oZP^q&TPeCJ$V&V<>WL*i^zh<_s-_5|v zzyh?uRci|a(>4ZX8wkzfD-9Kx&%h0nlAgsNsdIpVbteNGBZD7ER7Y2uWg7!~I8@UH zph3(Gyg*Wkfdfc70ZC^D0R|TaX$DsYWd?T!bp{WhUpyIX8N3vP=vjKyeUs1M}pAEY^%%0Evb+7XSbN delta 286 zcmXAi%Syvg6h+s~O^l6KrBG69DmoM^v?BEtiTFSeB7zhg*HVO1Iw)0eB#s@y+moXixMWJ=T$u1KGi>QG{u097O>=u0>pD@r#EXHdzV9jehkoa8cN diff --git a/target/classes/LazyFactory$MyLazy.class b/target/classes/LazyFactory$MyLazy.class index 42d24012294c06cefe4d1fb479bbbfe7642829f6..9a1f796e836b78598723e1135da5e17b81ec7c9b 100644 GIT binary patch delta 48 zcmcb^_KtnD`6V&rEOBK delta 42 ycmaFJc86`l8b(IF$!i&PH{WOEXA~4*x6EL;q1 O3?RV4zyhV2AT$6zcM7fm delta 73 zcmbQsF_&Y*ekMkq$p@Gm7$qh%GDk7014;eK-OSpIc0iWy*x6EF27M O3?RV4zyhV2AT$6#EDEy# diff --git a/target/test-classes/LazyFactoryTest$1.class b/target/test-classes/LazyFactoryTest$1.class index be72e241106b846deb55b2ba57823ae754be2ac1..13e1d5d4127b91fd8061783d1dd83d9b1a32c0dd 100644 GIT binary patch delta 50 zcmZo-Yh&B+oKZx$B(=E2xhOTUB-JOes?yM}G$&{BcSdhU<;l)W&Wx&)+nH>D>?2He E0Kw%Dq5uE@ delta 46 zcmZo;Yhv5*oKb+kB(=E2xhOTUB-JOes?u=sZ$@uM^~vr`&WxIqyP0f&>=R6O0C(&U A8vptNgPl2JssB(=E2xhOTUB-JOes?yl6G$&{BPeyOX$CF)|oEe`^?qsq7vX3#@ F0RY@t67m25 delta 46 zcmeBRYhl~)l2L%aB(=E2xhOTUB-JOes?vD!Uq)}nGm|};oEgte?q#w8vQIJD0RWE0 B5gGsh diff --git a/target/test-classes/LazyFactoryTest$11.class b/target/test-classes/LazyFactoryTest$11.class index 199d87ab260fbc02444a280b7df429b3a961e913..550eaf81d2fdcb317c82f715048a7e6f24db853d 100644 GIT binary patch delta 57 zcmX@jc8zVrH%4ixlGNf7=c3fal2o6>s!HSF#N1TRypq)P)S}63Oihe$CU-KqF}|C8 MfyoBQ=4G}60EV;`kpKVy delta 46 zcmcb{cA9O&H%0;elGNf7=c3fal2o6>s!HR@f=o?}mnKhPa$~$Q`8JackS)P%2LPel B5d{DM diff --git a/target/test-classes/LazyFactoryTest$12.class b/target/test-classes/LazyFactoryTest$12.class index 541414814ec4265dbe26767e3a0b34474d61d392..1738426972ce8ea4d4c2633d84f1f97e59f530f2 100644 GIT binary patch delta 63 zcmcc1{)&A=Ad{?2NosM4b5UwyNvcm`Ri$xIVqQvqu4i6JYI)pNosM4b5UwyNvcm`Ri*LdJf`)mHyAh>ZcbKW_F=p|IiJ~v@y6se G%yt0JArZ;| diff --git a/target/test-classes/LazyFactoryTest$13.class b/target/test-classes/LazyFactoryTest$13.class index 5e41b50e0c00b37f84c4fcec644ec9a7fe244f40..a31b0f179a71f49a30b3edeb8b36ba56c5dbc195 100644 GIT binary patch delta 79 zcmcb>c8_fXCzG6PNosM4b5UwyNvcm`Ri&|CX--Z^MrvMgNl|8A`eaF_a5hE;22MuC j$z@D|e2gp%?2N1oJdA7%e2g5EuQFLPF)~aRVzvVSzZVmP delta 65 zcmV-H0KWg;2G9nu2?7ugbY*jNLvm$dbY)CodU-RGCjwUn0N(%!0N|5^0#ObC;s6H# X;{Xf*c9(4fCzGs9NosM4b5UwyNvcm`Ri$xoNoHPpNJeU&UujOxWJ#uQHb#C1PDX*r iWlVv5jKU1;j3Nv?jG_$ujN+58GFdY*@=q3GwgUjBKofZY delta 65 zcmV-H0KWg-2G9nu2?7ugbY*jNLvm$dbY)CodU-RGCIVLm0O|k<0PB;30#ObC?EnV= X?f?t`?*I<~@sr{LI|2aelOF>3W@{#fuai5N?Er|*6kPxS diff --git a/target/test-classes/LazyFactoryTest$16$1.class b/target/test-classes/LazyFactoryTest$16$1.class index 7f19f8b3fa16bf07aabb050ad9d30d35fc7e2c51..fb52c37b9e4828b9cfc2a2a0f45372c34fa33576 100644 GIT binary patch delta 37 tcmcb~ev^H}4<=SU22Mu($$yywIE@&%7>yZt8BHgLG21ZeO`go`1^~v62|EA) delta 37 tcmcb~ev^H}4<=Sd22Mt%$$yywI9VCE7}*$j89640G21XQPM*x{1^~212rU2r diff --git a/target/test-classes/LazyFactoryTest$16.class b/target/test-classes/LazyFactoryTest$16.class index 53494846db3ebb6470d9085d2d4e2fd7394e50a6..c53730c24347d97b4b98d0b77e3225f80e6b7522 100644 GIT binary patch delta 56 zcmdnazMp+VHj{*SNosM4b5UwyNvcm`Ri$xoX+c3wW@^#oYNiw>MxDtInYjS4rISX~)78QmuTWeVW*WZ+`-V&G-;nHnb{2h^7RSJ diff --git a/target/test-classes/LazyFactoryTest$17.class b/target/test-classes/LazyFactoryTest$17.class index 0cc3bea363ae353b770e29e07cf8c66cb6b29dee..ac3f0c70125e6cc85abd2758d1f90b468eff4007 100644 GIT binary patch delta 80 zcmcc3@sVT0F(x(DlGNf7=c3fal2o6>s!HSF(t?7V%+wFSB%E{N5 krm@;Fa5CCYE@TelbYkFQbY|dTbe(*G*@e+=vM7ri0J-`aEdT%j delta 58 zcmey!ahqeqF(v{2lGNf7=c3fal2o6>s!HR@Zs!GG)#N1TRypq)P)S}|aEKE&|I+NR(+!*yH MpJTECvbmY<0ED*_w*UYD delta 46 zcmcc0c9Lzw7e)d8lGNf7=c3fal2o6>s!GGj0!&Sex|1g}xiRWbzQtq%WQ#M~0RW3& B4+{VQ diff --git a/target/test-classes/LazyFactoryTest$3.class b/target/test-classes/LazyFactoryTest$3.class index 2744e5d2de868073726fa36a002a2f9b1223ac58..f1274d373b881751d14daec356daa6129d085e47 100644 GIT binary patch delta 63 zcmcc3{(^mjKa;FXNosM4b5UwyNvcm`Ri$B2VqQvqu4i6JYIG$&{BcSdiD>?2He E0L%^%jQ{`u delta 46 zcmZo;Yhv5*oKb+kB(=E2xhOTUB-JOes?uokZ$@v%yvgoN&Wr_=R6O0D&qG A@c;k- diff --git a/target/test-classes/LazyFactoryTest$5.class b/target/test-classes/LazyFactoryTest$5.class index 8b12315d18dd213d77a82706c3ae3746e87fe6ea..5d75e0ace290b47b7eca013e7e588f63ca8060ef 100644 GIT binary patch delta 57 zcmX@fc7<)j7e;BRlGNf7=c3fal2o6>s!F5a#N1TRypq)P)S}5OOihecliQix7;7e< LW3mCVxtZ+%b~qF) delta 46 zcmcb@c9Lzw7e)d8lGNf7=c3fal2o6>s!F5D{7g-ZC6gyHxiOYazR6?*WQ#G|0RWUh B58MC% diff --git a/target/test-classes/LazyFactoryTest$6.class b/target/test-classes/LazyFactoryTest$6.class index 7cfa41f3e5e37380af19beb437b7015af8440cc2..58fe1586edfd1a4974807c5980aedb8c0a280de6 100644 GIT binary patch delta 63 zcmcc3{(^mjKa;FXNosM4b5UwyNvcm`Ri#l-VqQvqu4i6JYI_mxbOKThp#TQ}q5up4qW}*8rIXVFJOQ1P5CcBk&KJ4> delta 62 zcmcb^c8+ZWJCgu^NosM4b5UwyNvcm`Ri)8nRi+5m9tKW^-pNf&LA?D8>q0~(e9 delta 58 zcmX@czKMNJmJ%cY diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class index c389f9b6373aa07efc92ed12f4006c28f294cb04..db156e5424fd52d568a9782edb3ebd00cf9339ee 100644 GIT binary patch delta 102 zcmbQiafD-nBqP^GsbfrhT#3oasl~-A1_l<44C)j2sWNI#e!-N=C^XrR*;bd4fsuiM zK}c&01LF<`mT(}=w3C6AkzoT+l$k*oNOCbS0Z9=C4hGT5JD9^cxfs}hd>{Y-vgi_N delta 91 zcmX@YF@s}*BqQfWsbfqWEJdYx#f%J$lSPhjVf;umSl%002!v4xs=5 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester1.class index 93482968f45a0ca80e15cee766c6ab57d76fb8f9..2a2f6ec8767e961833e5952d652cab8dd74ef36e 100644 GIT binary patch delta 512 zcmX|-Pfrt36vcn@M;@I%D1!VEM6^t4J5Xq$4p2crrHM;6Cc2^_Y+cv|?pXN&ntly8 zM2&<68&;a=_aN{IToBF-p)Yy&ygT=tbMKw2;36CUxj8!rYBV!shynuU4GRGtm4HQ- zvQ()BEVGh?x*;~KcH;l0ul1>YbojYjcYf!B*1^GHyB$`mYYxRy=Wl4r?;PAO)vk5- zvI7iSa;O$|{^g5dEy>mm4a-Y544al$Y#FvKJG{2M;jLk}d*U{HuT*~j{nD*C6&KlP zR9830kno{i*Z4dTHlts-k@piP4c$$D={Wj<^YxVe6V*M26(g;Ow7#4&(hutE6cglm z%mS0d!VRX`1g+E WMP^DVy^IwOt3ierWc3F;LN-Vm6fG?p!x;ytt_Pg diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class index 33558f260886b1b107ea255767fedfe9cad7885d..6771a59fb90928fb1143f5015920a28aa2c11c88 100644 GIT binary patch delta 110 zcmbQiF_&Y5FEgXtWItx>pl}9e21W)3263$|42+Rm7+6>mwlc5)IZQhlSQ!~M0Hv52 sgn=X%0~3(+VBlr&WDo(ecp%ysL>a_@JaL4`HA=l}o! delta 83 zcmbQsF@s}+FEgX_WItwW{vZY>21W)32BA$1EG!9|C(mV;R(56JU~pp)0gCcKkk7bfvMsAry)u}|zzL+7w=wVlDVCiKT#O7m7D+ zGM|&Fs z$0i0&pb#??+w}p{$`TvKL>scj&0~t6N zLKwIif*5!hf*AxDLK##T!WeWI!Wo=^vB7YLALu`zp4&ec3q zO`l>j{fe_hv^i&U-XLo+)~2lJ^z7}?8H3>Buk4i{b)I;Iw`c2s!KTURt!Vh>+{9G4 zX=WyRr+s2}&Y_rX4i^}RFL*1RL7R&XLqrXV<6Aw&md&t+i{4`8u#*voON_?DW@GM{ z{vUU^%!I=v0}fY^B8BkwGH2i|DeYVR zXnr&N8FE|T<#7C!l@mjEg~4|5dDtNcDYi>+2^c@|%jLn>P!c1Q!V^j2eS;Z#jhVm~ z5^SZgBcZY+>(=mhq)?H7O5$|tV2#$-n%){;&=*k8sSo;UEX_3%Z0OH3Q^YbODFTsD zMbIiwvN1`PdlK{|*z}&v1lbRK#?qe;|8f-Nng0)iOQ>2a&q|P!4*RYoyEVT?t{d-v zPLZycX1Kr{lFV!5x$&_TnfM`(cq|%wDV14=$ram-Nt5W`BL1Tk&?@)QPBk4g&`BFz zoTQsxdbr9Ucg1&4#C$01M~q6g5uS>E&&0RHILo5lTPFA{`xg-`Bo)Tw8J>(0ri?-? z4$D_A$R|V}73>z@eUZiWt^PwIhHxq+fksu*k|C`vvxmJRS~V}&M~#fqz!Ub1v?d26 zG9L@6JqoQNLpeO!-J88#J@lj<3FO#wy5Xf%$zy%edo-4vzYrXH@frd<0s$*^Ckr} zyKr&I#LZ>fYcXgw(P=ZeLc2kSL8nOuT?XBDQkT75Gq`ThW0K7clPqr9!Cu?DWp8~3 zw@o~ROzzNcZ+Gp4W`hBR+~sJiriLT)YhQaDnHdeEGgFbNg@A%u9`mWa?w~~phb;yP z#+KC@*O0-mMVOJ;j#{RTDwM=t>Lt3xQO07ks#hInB37&gypwk5p2ZZ?7WWaJ8G;Ih zu_dLj)Zzg_gNVgL9$CyXr;sxpeiE*p2}dTYyGN$SM;A7>wC_sPB~1a9HV#rKo|i*n z6^g`nP%OQW|H=7C>Rc)@0<)D0%9vTwa_9sx*al}#84YVYB$X}7bxrx!4BqNk# zCNR5_xKo~0r>V8NN6#@=qSSlzTBksjIGKI<0?i5~$qxCeJkH7lISKZpFFbmj+%2-= z?0u#ytG_@0rJyKZ`+vD_6|>Hn?~JoQmG;A2M_b$^FP-jMp->)6<=Zx@Ys133i8qz~ zb4^Np%5#=PP?cj++8}wdH==P7lO_?o8J|o`DectIK^<2K&`Aqj4ACz#bTG$&unY;$ zh%gQFLKKZj>@{P&VVw6&uqE~j(JA~wKOxisj#DAMcXEm#mE!3F)TxrVlgFY!I`&o+ zNqf?Fs^t^*+Lj4FDWCW8LGY(VpHfyhL#>oi!z<2;iW=u6(=RrSJP*-bXx%?(y+G4| z21!iIenG|{AfHlf(S^t!0&v@UCdl8wu_i|))h?%4BvsvoHcH#h;X9BE8{wG8k>=MqjCe_cj~pGX^2Rt@wljBHa~syBc82uY9i=PE89x zNmO72Xo0yWrr6=km0EqC8BqsE<kDiw)F6l$T?cmN8CTDDbbRFbvUhSH;Gc?eEI z6f@_{OmgPz%+`1-ZRyE;ao*^uQb+e?wTE{!5ujfWh=jz(2kb#3#P*4cr3KcFgd!w4 z)}5>~+mricA?6=nNv)MSydUl|ni+Z6oJn%R;NuWb=0a1BbY=Fql9$fBbQ>%xR8hi3 UYNTb8Zzza@lE8c&_Ze+{01`hZfB*mh diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester3.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester3.class index 3babf04df6e674f171cae1b16f279e1e50505d12..06f7086c22471945b0c20b5f04f6d6f1d72bdc41 100644 GIT binary patch delta 849 zcmYL{$xjn;6vsc)&UENFNG((;D&odcc2QJBa0M3@SpHv=>h%#%Mj6 zkQib@;;j)|LKRs&d2)$MG?A14hWKWh;N{KtE#L3F<@eF^(i8dccXke_WWZoOwK@k4 z9Mrl=qs~J028TGTb42HufzEL&XqyI|Mx7G|>6|n$Ib~%|Td2u0%{naxnY0?5p-rb< z!P^wNGu{yDAH6X=-WeVl4G&j6j+E)H(9p=O@Ng{F?uceN+tdz)%xKJ!={4C*u1O~y zI%iF~=#JiY7AWVU&z(iCph*wsqko)r*%wTB7Xs4M9=V1z=i24PYQKaplgX@f-LF)VZzkBy(oY%zyr8&Y78WeRIXW{$5@I_A{)r zm4FjF4LS~v=`?a&MS!+)itp(KxGPa84(S7Sq{kT5aamu5n%`mkT-_ zbege%MwdcvOX%K2b7&xXGcwUNI3690)I5t-s@Blh`25EXOSYqaU^F}yjs_I0rE!b3 zJI`;h9j`$*evKZ3UM|KbttDzup(y@RDJnGB$t8unkF(X4-~~7 z|7FXMIm|*(*dd=~p-==NEfQS}$|_DY@htk1C<|B;Sj(1BTT|GAE zYjfLN`ZRTJTdiHtN&>ytqo&9TrZ9rO3b(yHNp_M=nSk4th>^2KRsz>Un=<=n<3B~A zN0sQm;O1F$zujX`ke7!2$iSS_c;%KfF0Iu*$yj1b8uW8sUUiH6OiIVB?2=dX;FkRr zDzDL*C5JaLJiL|Q9F@GIn)mqmKqt%eiEoHcLa`zwpM_?XDb{!-zQ?TdoDD&*v%nX2 z3+<3lRtw7>3S`zwXb>ro0hbYRZfLeox_X}RY?y# zykMUUv048Uq4!GdHG=es&SV}i6VsUo|7X@pW(I#qaGA~?mT5gAk5kOPikN+dtR}O6 pN!*KA=H;wN9#X0z`;6S0$*rSa&K8ccO?0kUc21HnjE0FlkY)W; zV1#vBV3hT<6h0Ri=eRMB`$Axn?OzH^v3?~m&HA;#EbBJ{IaX6(o^?kc&)P^~*Fd&n z-al9~8(zyj*ph8ex@7}{>y9JcRoiU0Wm`9UG=WXQUkqkJOZmTv5xU6^FxV$zda{Ic%gw4+owX zl>>g{1>1C*h3d|pY5lDqmR-2raT;7u3Qteq(n1|GI71bluPh8c zMbwt4S0FV=`_3G~_>FE7C{vs48V7KJ?g#w=Sj0u@8Ms8jiEi*U^mToiM@VcxLeDlq zdJoZe>lujOBfuQJ9r8zD83ntnrn=GvUyTAM8JyCA&l0#83tox>_cQnv9e9zz%dy~P z9azv-3@~``5U+-|;#&gWiv_LqK{Ch0;9UXX#PQ^HbCk}BUbSnNL z@ZYiE)hO^JgHP(f{}A}!Sn#`1;3)>5(t-aY@Z(tUdr{zN2G3}~RE*Nb(ZZvz6>Cx8 zSq9JPz{3Qdh|T!@C~%I!r*+^d0>@Xk8&TkS2EVQYQ*|@0#%8=815$R^rTt2iN_%|$A1c6cvH$=8 literal 1919 zcma)-O;gig6opUP(!dKsDHTBxORZ2)DdihM1S=?70RfAs3qy?Ji!?%g{2 z3tTZHGyVW|<;tCV_iojD+jj`lX2dLV`rP;Hoc1>P{QKi400}%6xQHng(<-hDc##zF z;D(AB0Y8!|W(BHQZ>qQ@P|M?j$L9pd*)B5-A&t zma%Tpq{gyhG{LJM^6in!C^@QFL7t93%5CAG%Vt9^wPBaqh)ZqMr8f3I<|sjV!$lK) zZbkaWDrdU1T{PjkCnc_2PLV5%l)17Ukg+=wr%Z|WIaL6cKD>__UA zSVar-zabn;6{i<$BO8BKFf-hq@#VtycGl3X@$NJ_&_mA-zI;%)x9Hwa6em?kt9tgK ze4q~=4A9+QECw)0pX*8!Foas^VDU0G_o2c-LqX-#)5VOYCP>9j<1s zVRjA*k{_Upo=cbM*)l-Rt{gcuArBp;IqZ9kMoZ?#i&iEMt-P03v;zpTQp-ox?c)Sl zVXkLxa5%u+=x~s^$>9+5Nr#)6Pcb{z+o6&PldRiheV457VG6IYh&OnGw?|@V$HcgL z7~_kKv3GzLvfawZp5Dh9iox8*eAeN1=5r2*nL8YgFrRlg%6!4$PUbF$W6a&mPRvf! zP|U9s^BcwdPBDK_%%2qV7sdR8ZKWQsl<<+bd;g5 Date: Tue, 1 Mar 2016 10:44:01 +0300 Subject: [PATCH 3/6] removing files --- .idea/.name | 1 - .idea/compiler.xml | 32 - .idea/copyright/profiles_settings.xml | 3 - .idea/libraries/Maven__junit_junit_4_12.xml | 13 - .../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 - .idea/misc.xml | 64 - .idea/modules.xml | 8 - .idea/uiDesigner.xml | 124 -- .idea/vcs.xml | 6 - .idea/workspace.xml | 1029 ----------------- target/classes/Lazy.class | Bin 205 -> 0 bytes target/classes/LazyFactory$1.class | Bin 999 -> 0 bytes target/classes/LazyFactory$2.class | Bin 1051 -> 0 bytes target/classes/LazyFactory$3.class | Bin 1258 -> 0 bytes target/classes/LazyFactory$MyLazy.class | Bin 865 -> 0 bytes target/classes/LazyFactory$MyOtherLazy.class | Bin 998 -> 0 bytes target/classes/LazyFactory.class | Bin 1053 -> 0 bytes target/test-classes/LazyFactoryTest$1.class | Bin 774 -> 0 bytes target/test-classes/LazyFactoryTest$10.class | Bin 776 -> 0 bytes target/test-classes/LazyFactoryTest$11.class | Bin 854 -> 0 bytes target/test-classes/LazyFactoryTest$12.class | Bin 1002 -> 0 bytes target/test-classes/LazyFactoryTest$13.class | Bin 862 -> 0 bytes target/test-classes/LazyFactoryTest$14.class | Bin 861 -> 0 bytes target/test-classes/LazyFactoryTest$15.class | Bin 966 -> 0 bytes .../test-classes/LazyFactoryTest$16$1.class | Bin 985 -> 0 bytes target/test-classes/LazyFactoryTest$16.class | Bin 959 -> 0 bytes .../test-classes/LazyFactoryTest$17$1.class | Bin 985 -> 0 bytes target/test-classes/LazyFactoryTest$17.class | Bin 1137 -> 0 bytes target/test-classes/LazyFactoryTest$2.class | Bin 853 -> 0 bytes target/test-classes/LazyFactoryTest$3.class | Bin 1000 -> 0 bytes target/test-classes/LazyFactoryTest$4.class | Bin 774 -> 0 bytes target/test-classes/LazyFactoryTest$5.class | Bin 852 -> 0 bytes target/test-classes/LazyFactoryTest$6.class | Bin 1000 -> 0 bytes target/test-classes/LazyFactoryTest$7.class | Bin 860 -> 0 bytes target/test-classes/LazyFactoryTest$8.class | Bin 860 -> 0 bytes target/test-classes/LazyFactoryTest$9.class | Bin 966 -> 0 bytes ...LazyFactoryTest$LazyFactoryTester1$1.class | Bin 1092 -> 0 bytes .../LazyFactoryTest$LazyFactoryTester1.class | Bin 1475 -> 0 bytes ...LazyFactoryTest$LazyFactoryTester2$1.class | Bin 1053 -> 0 bytes ...LazyFactoryTest$LazyFactoryTester2$2.class | Bin 1564 -> 0 bytes .../LazyFactoryTest$LazyFactoryTester2.class | Bin 2309 -> 0 bytes ...LazyFactoryTest$LazyFactoryTester3$1.class | Bin 1564 -> 0 bytes .../LazyFactoryTest$LazyFactoryTester3.class | Bin 2090 -> 0 bytes target/test-classes/LazyFactoryTest.class | Bin 3277 -> 0 bytes 44 files changed, 1293 deletions(-) delete mode 100644 .idea/.name delete mode 100644 .idea/compiler.xml delete mode 100644 .idea/copyright/profiles_settings.xml delete mode 100644 .idea/libraries/Maven__junit_junit_4_12.xml delete mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/uiDesigner.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .idea/workspace.xml delete mode 100644 target/classes/Lazy.class delete mode 100644 target/classes/LazyFactory$1.class delete mode 100644 target/classes/LazyFactory$2.class delete mode 100644 target/classes/LazyFactory$3.class delete mode 100644 target/classes/LazyFactory$MyLazy.class delete mode 100644 target/classes/LazyFactory$MyOtherLazy.class delete mode 100644 target/classes/LazyFactory.class delete mode 100644 target/test-classes/LazyFactoryTest$1.class delete mode 100644 target/test-classes/LazyFactoryTest$10.class delete mode 100644 target/test-classes/LazyFactoryTest$11.class delete mode 100644 target/test-classes/LazyFactoryTest$12.class delete mode 100644 target/test-classes/LazyFactoryTest$13.class delete mode 100644 target/test-classes/LazyFactoryTest$14.class delete mode 100644 target/test-classes/LazyFactoryTest$15.class delete mode 100644 target/test-classes/LazyFactoryTest$16$1.class delete mode 100644 target/test-classes/LazyFactoryTest$16.class delete mode 100644 target/test-classes/LazyFactoryTest$17$1.class delete mode 100644 target/test-classes/LazyFactoryTest$17.class delete mode 100644 target/test-classes/LazyFactoryTest$2.class delete mode 100644 target/test-classes/LazyFactoryTest$3.class delete mode 100644 target/test-classes/LazyFactoryTest$4.class delete mode 100644 target/test-classes/LazyFactoryTest$5.class delete mode 100644 target/test-classes/LazyFactoryTest$6.class delete mode 100644 target/test-classes/LazyFactoryTest$7.class delete mode 100644 target/test-classes/LazyFactoryTest$8.class delete mode 100644 target/test-classes/LazyFactoryTest$9.class delete mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class delete mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester1.class delete mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class delete mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester2$2.class delete mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester2.class delete mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester3$1.class delete mode 100644 target/test-classes/LazyFactoryTest$LazyFactoryTester3.class delete mode 100644 target/test-classes/LazyFactoryTest.class diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index b38c85c..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -HW \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index cdc4be7..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml deleted file mode 100644 index d411041..0000000 --- a/.idea/libraries/Maven__junit_junit_4_12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml deleted file mode 100644 index f58bbc1..0000000 --- a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 1c811aa..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index e19c5f2..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index e4f7d2d..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,1029 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1455284315959 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No facets are configured - - - - - - - - - - - - - - - 1.8 - - - - - - - - JavaHW - - - - - - - - 1.8 - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/target/classes/Lazy.class b/target/classes/Lazy.class deleted file mode 100644 index 5b026d3b649e8b937bd251656b6fbaa8c6138086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmX^0Z`VEs1_nb09(D#Ub_Q-n2IlnC5=I6Q4Nae{#Ii*FoW#6zegCAa)Z`LtMh4E{ z%=Em(lG377Mg~?5&5#hFn1)S=6{cD{Od&=FuHgLAqU2P!%p9P8PM^f8N;yg?P0RkbV&@?noXbJSW2x3uGB&1LliLyZI;>KKpk!weOAf=zu zuV|&x*P`mWA60d(ov3D$F6=vVX6~GsGxztOA3p)?;bjh4+|MF|Y7P%jlfNzLK2%Z9 zBMn_eLq(Gzy>Hs4f55P*cdqy~Zw0<-wJrkN@J+{Vb%W8!GKJf2^cj>x=UgxpI;Jh& z1n&mI?eT#{NU`G>-0E}Jl>P)%{7chg(2i|exQ7<^JV9=u)8X&ON8IoocU;?RGi1C8 z2gCZz78pvmdB&qDS9R9K{a&wqKt#!*@EMl$MwD!Ed)PW1TnWRcV76-xZSDsyjg!(F zbcM7z8OvrF%D0-1&}r3N*9lxh9GOyx`PgtfQcfE9wQX3AXWGLP;a@uEDz-H|!eb3N z|XN&`3!B{cM<27y#mq)Mh7K#|IAW0qj#+Q_ky(tpuw z|3I&;RQfu!Rk`&?Rh@MbWG-;notbZD=kd+{{rBT1fCqSzMFw{>NMk;Wdnie5LB(PY z16Y!XuA;2MU`Vaot{rSJ%<1L{KjYOfu$}5r=vsm8xz)Y!^whD1UoSTplr8U2Fbtcv zD_(_fn!?}bO^1-Y=~>)qaNm}84^)CBwdormi&IMf+K^dtT^UV%wHPjKqdpk#y3)FI>y<+P2%;5y7!{sG_1_ z8TU10k<+k(s)|*Oc2?7{hKCHrYu2ElfC&wc@R(sRR;yH#ONbHM?>rX+8FH2{cpxN3 z4;F6Ncrv#GOb^V}_)HS<{9 diff --git a/target/classes/LazyFactory$3.class b/target/classes/LazyFactory$3.class deleted file mode 100644 index cf17e6204f6b3757c5d302c45281e8229456cc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1258 zcma)6YfsZq7=F$u8{3K?A`>TwTx1=Wf)j5{3{Ftu1_>jW>|5y$qgdLd7tQ=Be(^78 zVlZlA{Opf1zNal%qCr3OocI1d@8$Hz&oAEqETWu28q;a?ppb!rqBv$!n9ZUabAp*q zK}}(SAz3yo!&_k(D^w4)SDNa3hN%-gMSA-Lsv}WNDe9$Bl9@ zjGPOBVd!k0PWvR+_<4@yot@ZWk35`w7YN=a$hg|nanYQ@rZSMLenGF2R zAglY1!!56-IWHMlgP}K)gfS>S<)J`zqh)EH?@(X53rZl%);e3>0e3{{45MdS5L2B1 z&D3q*(fPU|dfOlC*Swez^>EG7P1`lBR*icHb~A-V8Mjc9kwI3*Z7ij5N5);;lW`w8 zhWt5`l`({zj0Yg>y|G-AC5Bv_j{#-K#x%s~4%a*`WaKsVk4*~7r))_l>i1G?db({z zZB;eTJ~DK5HMm6E#d2-)eNJQ0IRz;FF6+PDXx|K11mjJbSV5sV%Cr}!VZ~VOqqgSo zRjXMS3!_Bk#P{XT1!**t1{UbSrRf0z3HoRlpy)(Zi5HS&apn`)2co*rD|pfak8pv` zq0j<-xJaDP4d4>#2Z@#gJ0ZDD6ukrF$XZ1HN)KA1d#(5piDPt?!&|E5Bf&dlPgME0 z7@qx(?$1avYzpb@TwXdx>P6)Ao&try#;FkCF`X6k;|cOu!vvmU8qetOvVn(q9)K=V z@MH_0DV Pb|S!opuJNVlQO>ml5;Ek diff --git a/target/classes/LazyFactory$MyLazy.class b/target/classes/LazyFactory$MyLazy.class deleted file mode 100644 index 9a1f796e836b78598723e1135da5e17b81ec7c9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 865 zcmaJlTx22_YQTJ?cRlaK;?Xtf94+~9SdJg3UXQ2AFp zOduZk0sJV$b<@(IqAJR@eU5$Z_3{1n`^QfJukgY}8GA13cwE5>_Dy)=;LyQS2hSL+ zVU#j#1(*Dqw-ndI*4rpjg6lRzITlH#h^`js)4`<(Q^R(omT8xv-pJ`Jm8x}~=`fX% zZuPR!NJ$a5n`aF6ar8+rtOrty582f~#C<+cgj9nl(k7k*7{v+M#_uF04-(My= z+f?bvq2_58)7=i2`jVe8=DhCo-z*y3U4$mZ%`&;YD2qdJB8`n31xH?*r}W^V;h^ck z$B~CsR6Mv?bMV}FzF;3I%o`woVS2ROeXC)L+??~%24Qfnxyr=pIT_mc*eujLZ=tn9 zF1t>>R|cI!iF%W2q6kwKMMl4eTg2R^*=HKfp1b}xFyH!)(hV%1-N5#bD10T#!aBto zNrH~pBx3HoNoWll^cijA}Idw;nd;_lO`ga@Ra&mLlTf;_?&jV|q2 J!2zna`v=?#&7A-M diff --git a/target/classes/LazyFactory$MyOtherLazy.class b/target/classes/LazyFactory$MyOtherLazy.class deleted file mode 100644 index 830fb0be7f9c1ca640905087b77448da1cdcb647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 998 zcmbVLZBG+H5Pr6I^z8KzL@fe>6+zo#yck1#X+vU2NJxq#wjt4P+jD`%tHD|>layUaMztB1CrV?eT&zFnk2S3PkH6LJ4zIsDiFur~KCv}fmg&!v zR`=z&gS~@$V`fdY1D}N5>sQ2);*NqdT5~TV1r>k$Di*v zRUTHzjR(DV_GVViT&^-|LN25E)&N!_Xs*jSV!KMefCG9$`d|c*Et6M(H;hcnrTW7uXxtH%xsd*upHWbFgWBO6w-B;Tab3oGehuCe&yD(y29nzYY# zbaZqX>Zj>hd?CUS|C%y1-uu1?k31elBGS=g&`#4lqzzo(jfV`CPItRiD74D2E$glm~?(!(7~$2!DM0&=^|t7p8Gsb zLTc-HFnOEjc-%j?&SsawiS6Oal5tNT3!{1^=hDDB znsSE!N7(L5@x_uz+|nT;*9%F6&c^p4~wCJy8Vhwj`-^dT(9yZA{u!U_pC6kX)$zsMYC?5$>`9@-; z0N5-54BW>9ia(^4Bc<|)yvMW@>=63NO=wl3tIO#2Ez!F-p*4xtm(lNTg;uba)xS?& a0X%wO%8YuYw0a z;(-s~qY$&P5lO(7XXkci&dmDfukSwq4AE`F!%lz}?gykj@bS>cu8%#2YxZ0g-RBG& zNy0x~9r4uW=IT@w_5}qGrIvQY(CPgX?N1rJaegKk))T44N%?*z%qgEK@@yt~%GHz` z>FnC+xmFC}vDU(j6)y@w=GJQE?vOe+GhrFFd;R2sf8ep=I*X6B6`3#;?JW7<&Mrji z=(Z;^)7+MZ7`$2l)(MrTv{J?IN}XDn>v&RLUMeZf;X?YKJ|ij_O!CsC;z+uwIx8D` z=D5-LuXU>OLh9^|u;=-ik4GUMV?TtCwGeHmZD7-_czMI!Aw%?czKSNp&fN8Xo^IL8 zMQDSTZfk4=x5CASC#6!f!CrrgJ-Y1{=pwJHbR45AQ(LP0yg-D z#%Hn`2uTu(s@ym3;%>EFSN0mIJXL!r zNE~@cjvG5>V2&l8j77e}HnuPC@DwKM~Uu=`K6H)e2#*|A_)j-?id<=I5!M|`5lvl?d! zS7V+_Yu8T4wqo!Pv=;eL@uCo9hKrRuyF1jnnF_y-`-?iP)ER ztZ-pP+m;*6|5hg|E2K`}33HMiyLjT`DW3UovE-v|wH2(|wal-WMr8>84p{MI*qFNh zPt>k^z6!&dq5B%JjRxbD`>cIuw~FxJJ9l1b*T=?d>uO zD`=5s5DXflMa;~w{6Yt6)>l+NP|!TguL8!U5DF+^ny)C?TTbqOhP9kr_OOr)3u{G* YHf|R37H*TYu#OEh>EsY_jU;`40QC^L)Bpeg diff --git a/target/test-classes/LazyFactoryTest$12.class b/target/test-classes/LazyFactoryTest$12.class deleted file mode 100644 index 1738426972ce8ea4d4c2633d84f1f97e59f530f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1002 zcmZuvZBG+H5Pr6AXOB}#Efob7wd%Dfg(AL0LSm{UHC2oyB!1ksOF44vk?S52{ZpC< z7)|^E{vS;IVw~NU*cLCjo11xNpP6}PfByOQ1HdAlq%nqq4F|U^+(}YQKOb$xaaTjG z{wvxjVa_J^o`w4s<}H*NQX!Y^V3#3V-{Jeb94XH)zcsO^gsN??TUcP2sMq<2gEih# zL3pqsx=Mp9p7hizL(V;e7B?9Z)u1gH#_OIGucO_j2se1sr%1LQw79>?Lr?qtU_zH- zaB5PDu^1Fk*(ukg5*-l|nj4C*H+Mu!_nU5b9m!P` zQVY)q4)zlU=HH5BOL>7TH=?~g-xJ}=K>BH&Rid;TK@_&cny1IgjYu@F1*Q34$d(^; zJ=u9B)OOIeu;9?nDh@K3aF9iXAv3DIjxRa5fN=*8ux#O>gGYGm;0mU-fWylmQBFCG z6upTUrvK5N8A&f@n1x|R(Ppcm;7Vw0sdo?h1C#2mS*!a}8%v7!iXaoN(G4-R1~)-D z``nMj`W8dpt^IFTn5FCJfZ;r1bYp2;Ad}I;kQb*ni;INj=xe5zc)@ z`V+Z5!jyr28#3K2rS-@%&xm4%BD%pcS&b!2N3cf^p9~yM_B%=7swr^|*NvUU4YCQ` O#4YMk&%vmWdHw=`MA;Vr diff --git a/target/test-classes/LazyFactoryTest$13.class b/target/test-classes/LazyFactoryTest$13.class deleted file mode 100644 index a31b0f179a71f49a30b3edeb8b36ba56c5dbc195..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmZuv%Wl&^6g`tTabnyi4WT?rq0kf(BN3`DsVbp}BBW3jiLzifai@tZV^_`?sr(6l zQ6vfy3qF94LY%Q9H7Qsg-}kxaUeE78KYsz(g;zxx4;|RpGTNgG9y^rVHd;1zY&;RL zPC_{m5FZ4}dK%1HF9g>5efjzPQ2IJf&WCEIUoyBKM1ejKXtw`}c1FbM#m7pZ)(;|e zlztqmWGKfWJ&k_s%Wx!wt&0<-P2W!cRDP1( zP)3vPKqo;oVQ|^~etfEYL$^8zCXv)>LI%Bsx_LtGNp%o*PtwTOK^%1l>DgHrsAPX3 zectAPh|VBR6JH$$W~k=11wA*+IQ{F$591k`y;FJ`AKQ59qK%G=8*p8$7_ACNz?Ng_ z^SHQ$b+e=8eRFPs`qi{KYk`f-^?%xC_sb{(o0>nbmnf-~iR~SwVK|(sC?AWPZFff4 z;*GE&P(gv0hV+1X-4Lc#zJ@0h~Oon zy`HC|fhH{$X0W_%X6yw}mSD~MhT<1EUXhUEqG4UonZq_<5!Qk&N^nIPtD=&@yQUYl z48Hz~ptt9sT}l%xdEZgG0xBCPU&AdgF3q`FxRbTJi+h>ezb D4$7~r diff --git a/target/test-classes/LazyFactoryTest$14.class b/target/test-classes/LazyFactoryTest$14.class deleted file mode 100644 index ed7513986d8447b84fd063574fed67b3ec7ad00d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 861 zcmZuv!EVz)5PjP?apStgNz)c+p#=gYMj}*jqpE}=ijYD%B+7x?#@!~aj9ocvr1B^H zMUf~-9QXh}3h_3M)TCg^o}GC!Z{Cde_n)7?0PMjpql6s?Hg?VF-ZJhxv=3}FY&^8_ zNWeOYR`*nX zlI=*wqjpcHVLT$Z7=AxIRe_OP?uDaR>MW&#&RpFrA&+D_jM^tz9Oy8K+r8}UEDBY+ zKbJmhb3jI?mt<+64ns3k{n~<_8fBdRbsR*=gv#D2Jx-2oJa*AU%f$*@7pvw}h9h9h zp$z!CSjUFh(c->2w}5vwZLV5iYa05$Y_t1C7J+TepVvv1)XHGbdz#YvV-+7|QN+bI zTLbL!Lf8;k#uD!g)d8Mo^wKNvUBwNe6`tNO!{k)_CzlZZ4=nlCB??~|T7t)~V_;E1 zS$L?@-^kNZL!BNAr?k9mX6iXoL9FV3L*WZn`~oR!)`hrWFsH4-BJCP%QHLwmQ4yO{ zdY2R|%;~*XB;A~mwrLGk^uMEcMN~3D>NDE%;^Iu3g`3lMw{UxEx3EoX;STO%jVFhd IC0agz0V3e9rT_o{ diff --git a/target/test-classes/LazyFactoryTest$15.class b/target/test-classes/LazyFactoryTest$15.class deleted file mode 100644 index 946210dc8a4027ab4eb4bcbf2f40adc247bdab84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 966 zcmZWnZBNrs6n^gB%1U8lPDD{&hi*j~6Zs?|!9^0y1mg&ae!J_gqomxD?$(I@68{Az z0*NO60DqM6+_r{oG-*%I+jE}t-23P6&))zV*vw-b6%!U#3_Q$IOg~>ur140ns`{@s z2HPZO)xcu|PYkRvr`1`;~QusaA`BIosuq@`JMj z(N{XTh(_u?6*)k^B zN(8KlQ%ek7+#$I830ysa%i5PPuR(IUftYDladS3dmBE8()Ewp`yMRTq87yI$`0AZV IKC<-u1B02$tpET3 diff --git a/target/test-classes/LazyFactoryTest$16$1.class b/target/test-classes/LazyFactoryTest$16$1.class deleted file mode 100644 index fb52c37b9e4828b9cfc2a2a0f45372c34fa33576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 985 zcmZuv+iuf95Ivil8^>+Z5Yj?{atV;Q5R;bjLRG0mR04&INL2~mHqMf|a@UnFh{Bif z7e%721QH*>M*6MU>FcVc@ogJ9)y?^I1n0ca^KD zcC9IxIvGnE?rFHMq0Lb6xg2_X4AtH)|G=#%bX@CAj6EiAxZ?zkjs}atcqXOryDkp` z5irzxJ^txnliQ)^A8d&rY;+!}j5S9(;X1=y^Spr8HbbuK4FyBF=ScA~+8YReiw|5v zsy)xshegi>EGpYWc5Sekt1^c55F4h3OgjY*mp*f zhmlW3yJLB2z?c&6BWZ_@C#`<8zwbK2UmFWg%d8Wl-uEKk7MqTmqjpA_wo;Y`ekyI( z3#hXfBHZzY1{UzZKm`{J)X-t5oIL@BFB_Oa*}w`OGH86jZTeK|mB~VM1dV?@u@cEd z3=5~!6C)|%CytU~@vo%um6*s<(l_JdY(7^@Ns5o*6VG!6m$B;|uG3vJz%Y#rT}GM$ zs8rOvWM%2A;UanKw0n(w95Zh&9f6rA$e2HneOp8B1cf7LUnwSoIr{4=jBDV>$l<;`R0rz8cHK%J?slH`2aRSwtUQj4UBDtQApY0Y64w@{^Bm9SY_)l*8A EKiEaf>i_@% diff --git a/target/test-classes/LazyFactoryTest$16.class b/target/test-classes/LazyFactoryTest$16.class deleted file mode 100644 index c53730c24347d97b4b98d0b77e3225f80e6b7522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 zcmaKq?`zXQ7{|ZYrj3o!WwoyA)J@lET4k{me6vxI;y{S{qNCu;Yj$=wVltA8F#jrj zp@M>cfPa+uT#`Z8jwU2`_dL&io}YjJ{rUr-k6r_HJhWh9%fz;YDjr!Rd2C|GM90J~ zgZ(CoL^29_nu?U6u1;jydBL#m`~1uKArDlXoF9o)?UV9AMp6wKTJDmzJ7F+J@v&f7 z^JOI7WuK-ZIpWihBuzgKcsSvS)aO!YXjjBqM0NTv$yaqI6vLL=^-uX{?qy1b-p4Eo zl#C;9oSmJ8QY2*87|U72RhE#O!D{P+0u}OT=8aV%quKtD2(61-x#IowR0KNN>6~>b zTop>0c&QJqgJreDu zNzv`?POwdLXoBGynB(Y7Xke@K*|zl(qSI8m!s^$s6^e)Z8n@&1ZtB;gFIR_ ssMh;|+9ITgr-0N-h=Brg2X}MaJ#5ly;65IpLAxe}QKwZuI)8fp1I^0VtN;K2 diff --git a/target/test-classes/LazyFactoryTest$17$1.class b/target/test-classes/LazyFactoryTest$17$1.class deleted file mode 100644 index 225fd5556dae861fc929caf989475e07e7e6b086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 985 zcmZuv+iuf95Ivil8^>+Z5Yj?{atV;QP!lfVfvQr88mU#dh*Xu}ZR0GdD|cP_f+&B& zUlfV95=eXik9-hf);2UWwPo+lnVB;)XZPptZ$ALE@uY|n8afQz)^I0J7(KaPISJ{9eZ<)r~*O1zJx9Xg)0`qBQr>j-~kEIciv!;|&cg;DLb(E*Pkx%}_ae0t$a7NR3){Nst0 zNG4)fIHjH#NeMr3lnjf1C5^AdM3$1i86RhJQ!OPaK8DXd&lOz8u6MXjcg+C9G%|D> zX$qiHQS*|OrLTsIA5OQ6@2y5a5#q$|7fvn&R_?G!(Rx<#`3 zJ9aBOD=<{4$gc-$vhKUy!KP~YY+SOn?Jo;ta$VN^mO#AhHk80%#nx&)*sCdTQ`Q{P zq$_S+I$P4SdEZvXITW!jqq3z1iWO@rUtl7aKbPgFK-YcS)x~PCzwg+}Bfn(TZffZV z9)+2^+IuNNIZ`)^Ro}C9b8(pnna-)uuuT1pADrGKJe1`i&l^C9$oA=Idr(^3L`Ln7OLx>-200ZfhnJcr|c=|E4Iybdbi=N2aXdB zo^wDA&xIqDd&{Cvt1teF>pDv6(DYGYv}@>iQu14vq=D~;zyNyav!E-}E5*g3U5x%2 z43l+)R_~DreZ~sYM-YV*^b}4J+s+_)BhfkBz)jkL zbj%m@qvDZ`>8~l8AURz43F8>oz9S(HPm$cFK;|JCBJ=n+#(EuC( diff --git a/target/test-classes/LazyFactoryTest$2.class b/target/test-classes/LazyFactoryTest$2.class deleted file mode 100644 index df26008cf8df4df1b4fbbff69ef19b96357926ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmZuv+iuf95IvhXabpa1+B96sr9fJofNI)Tsz@kMDUzWNsrtTgx9L{yy0X`m%2&Yy z7xBOc@KK0aJE%#hSKir~IdkT+`}@z&UjTN{YoLaQ4(fR1;4z*!q;A-FYU7!W=L~gy zDznaOhGrP@Pgnaq(n)%CC^G$qoO@D9-Dha||9QJd4Avky77WXwRN`ZPJ{IXAAID@_ z36qG&M?95ApBgQbioqQ!CDK96vrLe>y2#wwrOefd&`T*CYhgm$rZ#H-y^7)_lWOuo=+orbM#se_wp=Ws;lja|jTbI_bX}}q)r@+6(w$uf z@4C;jT!!_+baTCC=<_6m*K})xRB$bfZ)e2M#k3cibJaID*1S$LburkNJkG_z2}9c- z-ZXG*(4(n?kYJu?x}v95rQg9VvbuEYqe6=;y_a9Xdf!p`LRtm4X*ZF;E8L;IU81mz zCTWJjurXRRnJHIL=s?Z-f$C=h&C+ZaG%i61P||pBDY&&5-1`P=F}SQ@E*KWpiWF_! WE#y7iCu!jU*5T2~A>tZI`u+liy0@eN diff --git a/target/test-classes/LazyFactoryTest$3.class b/target/test-classes/LazyFactoryTest$3.class deleted file mode 100644 index f1274d373b881751d14daec356daa6129d085e47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1000 zcmZuvZBG+H5Pr5VoIOq{rBoDD)T(V!3e=)RLSl*}HC2oyB!1jpmvZFTBiB75`lmDz zFq-%S{87f)ZHaAhle^iOXXcr={r%_1F96F}OJN*&8x9^=c$g%cKA&yG@km1jeJk21 zVZkQ#v4tlV7A=$+#zHRJ!68GYalnsxIZ~cqes63q2vz%DH^0O%*=X=jCtKWAL3pww zx=MrVp7hiPL$+`UE$%WTYC&5tOf)jzy=cHRiJ zAG9qjIkd7B2Wdgket6UTdM?N@#4k_X_&`($EWLsfE{CSWgZe z9z(8B|KF-GPmj?7!&SuSy;8S8I<4nITAaQNrU=c_?H!WFXQs4p3RXHttn?G{4_PG6 zF?I^;EBVAQO@G_?RguCfa-`>aak!2fqyaOApAj$3vd>;6$p{-SeS>v|E8mg<Zn2 z%s^{~OczUTJ+kymqL?F#F0f2eW69DP?9t%rKyb2ONdmV_irctj5IdHsw|>rQ{(=5eC#Zsz@kMsgfxVsq(&Yx9(QUx~$ig%2&Yy zAo0Kl@KK1_*oY)x%d>MkGiPS~^Vjzu0G^}UhKJ1nE!+!8yYJ(HkB2_C7_Qh;S#+N< ztR@Nnc)8D0o14ocQP`Ih+>=_`Aw#G4PqaT_@J9KuU|30{7Ki2gsW3-;s>rjJXi7 zsiWH-%S>}y8e;Hz4p=8tp3+JcpOiYaGS~6AJU>@bn7z65KYfN&G8pHjNyWZ&Q+1X$ z^we>q@!#lF<%QJQTVYT0V;_$~Y~yhVA6G-PowkZKx8lVOcXt`0zw=cz88&CG|MPUq zUMxZzv~*h|Be)eV_TsQqiZXG0LFP>RM0ebchD~E1`bE)F@LLa3EHaaezVAI7lG+a2?wDHu1kFJYltQe~2neJ>c zc$agQ?J}%SOjq}7NS_B`SkrWCgG_KOjPKQmpNQ!!M5u2rta(}GpT|DqNg;L*8QT8v zD!#EnZ>A0g8_e^}Q1r5@^gFmtR+mnFRA`Z<_v{N;?;9$gNvq%n?Ishrz)jlQWfYds zB+VcgG)9YvnPLSK9jIB~QT;?gvoIegFfN5qKndf$q2$(La_=jw#pJSwxnx*aos?+f W)9`>P diff --git a/target/test-classes/LazyFactoryTest$6.class b/target/test-classes/LazyFactoryTest$6.class deleted file mode 100644 index 58fe1586edfd1a4974807c5980aedb8c0a280de6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1000 zcmZuvZBG+H5Pr6AXOB}#DHR13wd%Df#VS=JAu%XPO%-Dai66J^QjQ#Zd4Bn=u{|YJZF}9qBEv+z&OaQi@s(ppcu7-jup|MKu74-Y1p}S_O?n^B!Dc&oBjJZZ7nOuX5AfJ8i zM`C@8A@A1yw<^rhV|2i99x-~a)Gd(7=(&&V{Y3m- z4v7<_j$nNypBSd-ZyUcur11%P((}DIT*M{PfN8_eh?i#BXI~=82pcPXgLRB^-;w@8 zYL75wpwEU(7fWtEvdlB0m?euYuuM{8$hAIb0{1zzy7_ L8g(Cx5}ETC&4||W diff --git a/target/test-classes/LazyFactoryTest$7.class b/target/test-classes/LazyFactoryTest$7.class deleted file mode 100644 index 352957ab8c4687293dd88bdd757c99aecc1bb990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmZuv-D(p-7(LT$vdy|RKaKUL)>e(0tYFleURVketO&7QB;>-o$#$A-S$E53R;UkA zK}GN_Dp&ZZ|K~g3H}m_?&tCu@!7HMGbq6*!jCOMow;ambHtII+ z*tjcT?T2zGAYKa;^e7nD9|}}D9r^BPNBTNWj(TdWpD?%;M1kHGs5SnHHv7bB$9qbk z)CnTBo4y&Sq$dXUEdTapA9=9EwGxo{?FQMejY?%P4nv7iIQ5G*yG(a40|ILO{U^v z8_hm8_#SKsEMkFAhU|cH+3=;6<5|K*MoZM5GsEPRy!)pR-VZEz)+usd=~_UUe%Tg&8d0nwfeAR4`WYz9IJoj+Y~(IH_7EbWUKau&93^%a3IBiF`h1 z@Gc=(IDs!eCFtcTXp7Rs^4@pk&wvV<^LVB>KjmiOO4jZwu4Qr+*C{Qm;RcqeIjk&D G^7{+Ug0m_B diff --git a/target/test-classes/LazyFactoryTest$8.class b/target/test-classes/LazyFactoryTest$8.class deleted file mode 100644 index b43322e600bc2b1e898cf37a7529ea711d69b41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmZuvU279T6g|^yvQ4@*AC2{+R;xx$Rxs*Q!BUW5MTqqwArHPyw$o(Gx?480Lj5N` zR8aA~f>rRrAK;G?&+G=8R2OFN_qpfZncshY{sQm_ZV?6CD8a^t(QYo{R*CYqjfRao zHtq^o`+*z@h}QxIJ@zM!hXU1ZSH3&ik)Dp?qrRHxCk$@+p|7_E>dk+mtpRa5(Vh}0 zcl}W9CU1r+?#p37PpunyG8o9%H}=$NnN|YMi!fAiCy|pQZGtkPwn_-ruw=4JTS~S{Ik#tq6wM3RC*lk*|_JRiI#&UI1ZMLRzyj_ zmP6_BIJk&av+wzJH#P+-XTxTs1=dp6|5=;O&w~i8YhGO^R#Gbydz?+vAFFUT2?8#* z*&1Mj@4<$^A{O{$$PTDf3}0F~o@HEMv`p diff --git a/target/test-classes/LazyFactoryTest$9.class b/target/test-classes/LazyFactoryTest$9.class deleted file mode 100644 index 73826d9897b4d86142741ebd505fb1a42de9bcdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 966 zcmZWn>rN9v6#k~SrOQf7sfgkQrD|K0Qq&(rLV}GXmXY~m zn3O1xXyOC-P{uR6Yba%t*)!+%o$s78fBydb4WN!^S&XA(!oqz657K1Q-xm`}Jk+kT zzE#FhHAz`8@W{Yp1B(n9pUaMSz))!J^N+k1D95e64QqVRxjh?E=nu^LBdHy9Wl(F z<6de>ujL{L!@Q!sHhjUA(7xrU)op((aNX!dxP6*^Ioxgel@{Ytd{Qqw&lOyTuJ@Ru z2WElc3KH}JsRtmR*WHqqq*K5Yd5d&=gLD`(Q(ZU#tDYfI{e|SaB2s6_oWMAym;|oU z-wfl9ki|DllRh2g;To=!2F!%`jBsf_G5R`5M!sD22aHpUeMP2_9k2nJBG8GD&Vay= ziR||fSQDp|2spn^a5rPPS`3%2p29o_$%F|K~ diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester1$1.class deleted file mode 100644 index db156e5424fd52d568a9782edb3ebd00cf9339ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1092 zcma)5YfsZq7=BJWR#&PUb>Icj2^G45Y$Sd#f$#+-A*q_UiJ#BPaU4?Hr5BR7I6)a3~U$5!9CJU7;z36w zsfhOo?<5RGd=&5`5eb9iO&K{;JUJ=Y0~yNnkl~p-kHgF)>!%Ebqv%X9lsy@Wm)ZNS zh&#L+ki_;Pp9iNrmWm$<3#urF%{f9lD%+JwkU@V8r1wP1P<89W1Op!SnyRT;zTjFmCaWLW<{G(*ju zRr$V}s_v@On%}CWjVLxGg6=0}9Xw}-X zb=PyK)o@dtYjIL+RW}T?T1`w&-WM22UVvsU#eTNDn-oaqOEYIxm_6&_F{>5NG0cJ` z``F#kmIB%Qo>~F zJei{vXDhSq@u_9z_y!#!RrwelcU9k^@@#NprMa^nS-4gUTYT;5Wj?Le$BAgc&1gF_3=<<2$TD8gYUy=W@mzU94Zip|Sx1|{*Wq*2YB=2Tnbot6AnBu1 S&}d`KAHrRPS$}|Q{{92;aB3$2 diff --git a/target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class b/target/test-classes/LazyFactoryTest$LazyFactoryTester2$1.class deleted file mode 100644 index 6771a59fb90928fb1143f5015920a28aa2c11c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1053 zcma)5U2hUW6g>l5R_H2-Skzj@y4Ho(QjBkH`cfs5V0{4F^vz*A(rMONvL8+GS7}mW z^uZtCk22m_APOefNp|Lbo_o*S*`L3@{{YayP8JzF(%X6tCLU*D!CuBSJTb9h;;9LT z!Mfm{9ma!!Cq=-p);{MKydFo=tAB`<8%bZ)I}`UVLnb#&Q%f?Hd#GlFb@1v!H{oDB@W|{ zJrQ(y&m&8*?YrDN;(^rq#As+z3>#M{Z8xafm06JCU<#D(i-@7*RL2c^T=na3d*{N9 zC@b5MeZ`|Vpf;AAYPU;ZzukWVS)9Xj-hL=R4aoD)iV*FnZ&uLP666=p@ecL!{^{;3j#CB)ua&O=rHg zIRdL~jgYE+MfwYw(zr!?h5~^mO0=&e$$8u+Nw0hY$xtTQO5&zIrZ1DCb%|p_(ir91 zCD_R&4CDO>1}Uj;SYr50u5qbc0{8%HniRatCWJKrWZ&G>hi(EFr|aTnXEH2t?}7k z;!B^qRzd57@A@D7E86c&Qh~@)X018y%L?_dER+qh=q6C0lj3_p}%c~fc~_*$Uc z*pUxqElq;3=0(a&wf0p~Tk3dW;9c)(%?mij=zgGNSQildvyI(OL;lbaC^U?uS|NE5 z#N{~~*9At*-iq{+NOxL(ocQ{xfLm9}*Gr*{V?Q?D`;^LkYZ@8Yg+K+#HG#FtNeoVs zQoS4U%({TJ6m9te#YUj~+v)D6uUm36 zYWtR-JczbjoX3)jS8>k8D;RNc3ZpK@aM~P9+PL9j87l&(vIaQn*2QO-bn!XrHg3B3 z0u39tT-?STv$$(x)x{c`rhrF_+`nf1$}D^7z{j1<9p6hx?!nets+3{aMoVDg{}Bbo zD~D=)KUJRLs@6=~?T}qPZz!F}@c*-~1qS3J888@DfjwPp>p&&VM0($~wDd@IL8|zX zxhB2hWN?dG%T6PR6BfrZ(b9g~C(3AL=1>j0iBhLa@KIBm#KvU0QvbKfu_$Ae`my_^ zNN?A6Qr?f+A}^IDsAF!IPMUI;DNOgM$_m_z=@^$}tk}mq#`(w;!Ro;(l}rx-lx(9+ zvXe5&2ICWz<9{9(sQo%;-*P=bdA2&c2T{GWhg|i-9`e;Q)*h_t&lq^Z(>&hbSfCBC zN^c;d!8waJF+pi&23_DH=WeF=;*70_$)300iDc|nt51>JM`7bJ1{<^c8014O`Ixah17ME?Iw7T)@m>1JZ6ZWqxLMN#pnDI RNdT$OalVK%a9EV=dk*`g9eg@D3 zTR{f~Wn5Lzgu!OCAS0+DK@H0oQ6S@*f_E?~V@yU?fr4=%;Vly~CS}}E(2AQ1BA60i za)Qc>q!8!Q;L7z*31 zI!0;u6Wyqa%VmINhNac$igF-6Lc?#ReR5knQPU`E1` zt$1#hsERJUtl|UAs5phwBI?^aW9OME?(PwQcVv91;x04^U0c9UOO%Wv<(`c#kaZO$ z(3e&Z*6R#Ef(Ns%S76MFWlqIBOce{lyL%!8r?(*YDs>fQ%*a?&VWFa;iu>EF@UtKx z5ECg1>19J>oesqgP+qD1%F65FmWJR+Xwg~Jjv;uQO#4?&%CB$sLZkshj5T&{Y*g49 z&`Ko^srBM(95(UW5~lvI2T#j#YSeFIapm#G%cfk*5;Ms2G%#n-vM4RvtDHj|vbL~% zp<;6EMyj@HIXOqu@8xYx7iCeg=aLI9$76DklUm5CVr1LS@O@V+a}b1LV`IVu#b@WV zMXH@`v}e7acHbYLMkgPh4vzN#u85W(bpkJP=cFXvgqOIoX?X7T&Syx0)pnNOVu18F zn)ze_em;29wQwM^@WA5w1VeuwFlP_DXgKjkhl;HpReQjI@$4QFiv8G(a53~;~2mMu3-|_aRYhW#3JtC0ePQtd_1J~BN#-} z@iqJY8}gPhhws?BPhjGA?tic?6TD%TPycl!agNytGdovso>Yi>AzZ*k@;+lueBKY6 z6f;4cSE(iG6#ja5*nwrtt^^WuGe{O#mY4;TcmtyZ!ED@IU@>{M875@N(6iMulej+n zOMJ<5ssdgfe6mV&D}RB1Mg4kq39wSiR85~gr_c2}r~CO|KmP(?8ejF{2;Mcz1+!Gm zGL=UG(|Npyi#9IhVdHWi-opF+_y8Z~@ew{Y%S;}#_{7E)8=uf&i++|K&SkFN+Umk(ob zn38Jklqc>8So7hUCs3&S%Db6tu6lY!t_GA0)I(PWcck_W-w|4-M1iqGBvP7Y?#K2! zX*G8oWp$zivSpKkV6>rj+JRK-)rD_duNnKHq66U*?M9er*IV>WT7z8}T`(PF{tL#}Jw^lbiHzv5dqUA&>gRqSifsz0B zC@@^!)8l)Iat&71M$&8soaz|^=}7ATKj&JYM?R81lVKM)(}kw?RosZB`(Q;&mr&=V ziXNG3(rHfWZcc02s{2vQ=2#|M+OK=`GFYD2)5CV5)M*2}-;^eiF&Qt{{%vxgm!Wd) zKzT9L>(z~f_oF(;OQq>FZ*G^48*-B+jCY_)8{En1fRIG2(1kpP`N$N&?!hV+%?tsg z9HW$Sl2Xb6;}ezPe;Q|~{Wf=BlkXutS()5|sGQ$IrgCNr*~$rP3s&U^^gQ8d7H7HU zXaoGpXrM>q=Oo_22&vf_?*iwzcT&BbGmaicJJFueld)T>JVj<3xx0_iTc6xUFM074 zeI!}_)=$U_Y@`2fcJ@?p?R%WtbG{AdwaSlp<2xZ9|NZBaG-NOO`L?!`9YY@j{f1sV zr}TFw^^EYmKp8JFg;%&vdK-VF#SGKNfrT-Q(@%x8Oz2FpOPvCD%i57-F~Rc;wI@j} VKIi8N0tkJE`#GFosMK>lS^}L1`Fsb5%iWfDgI4OnRF{R>^ikCF>qM$*?%kt(GNfqUB zTE(=6JvgJ`RlKHRhM~X6KWt5L!>Nl_*=#zd7-i54wrz@hjW?TSlY!avD=_rt>vq%O zwo~CX*9=jJ8bgHJ&G${g5HBwA3q0dGRxL9r1aB3srjuoemaIjaJFYMpQakD7d|{2- zily@!D|&REXl76BMX+zYm^YP=to+KKm-MwY9QQ(V^&XoV3-Z*jG|GT^A?q2 zxVWWW!&`W&A8B_t*P~!{!? z!%#=>Zgp4j2I+0_wZk+>&$Bw_@Fqi_2kQ;GUl7^iJKx_{p5|$IL}I)pkGFNagLieD zLrDjh86D_A?lieN=4D=njw+}&fdKq^GK7+{*kPk)a+#2rfFV~3J)UGiItlS=mG;DX|AX&6HODZMyoVXh24?eaoyivbmn2>83p$%|ZCkDZ zZ)JoQO^Pf|k?k~5VcK&-M!r2tG0x zS;byY?QdT#dI<^X#Z&YNQY5=Tarm-}n-tX=X&fedNgcsauU9KLMo3+Rdy!%r zp$v}Wb38$vQwSMkp?LafJSh!5%cnLi$H>yxf133CPCr8!KJ_eRDkmdLvjOxI)r~y% K(b+4Zfd2q2Bqpl> diff --git a/target/test-classes/LazyFactoryTest.class b/target/test-classes/LazyFactoryTest.class deleted file mode 100644 index 3567f5955d8afee4d85e9484402db8119199a6bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3277 zcma)FlkY)W; zV1#vBV3hT<6h0Ri=eRMB`$Axn?OzH^v3?~m&HA;#EbBJ{IaX6(o^?kc&)P^~*Fd&n z-al9~8(zyj*ph8ex@7}{>y9JcRoiU0Wm`9UG=WXQUkqkJOZmTv5xU6^FxV$zda{Ic%gw4+owX zl>>g{1>1C*h3d|pY5lDqmR-2raT;7u3Qteq(n1|GI71bluPh8c zMbwt4S0FV=`_3G~_>FE7C{vs48V7KJ?g#w=Sj0u@8Ms8jiEi*U^mToiM@VcxLeDlq zdJoZe>lujOBfuQJ9r8zD83ntnrn=GvUyTAM8JyCA&l0#83tox>_cQnv9e9zz%dy~P z9azv-3@~``5U+-|;#&gWiv_LqK{Ch0;9UXX#PQ^HbCk}BUbSnNL z@ZYiE)hO^JgHP(f{}A}!Sn#`1;3)>5(t-aY@Z(tUdr{zN2G3}~RE*Nb(ZZvz6>Cx8 zSq9JPz{3Qdh|T!@C~%I!r*+^d0>@Xk8&TkS2EVQYQ*|@0#%8=815$R^rTt2iN_%|$A1c6cvH$=8 From ff0dab86d87881e0569eba8e9db2f9a1e93b4850 Mon Sep 17 00:00:00 2001 From: XJIE6 Date: Tue, 1 Mar 2016 10:55:52 +0300 Subject: [PATCH 4/6] removing files --- .gitignore | 3 +++ JavaHW.iml | 2 -- pom.xml | 6 ++++++ src/test/java/LazyFactoryTest.java | 6 +++--- 4 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..883ea48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ +target/ +/*.iml \ No newline at end of file diff --git a/JavaHW.iml b/JavaHW.iml index 3541787..3d93e16 100644 --- a/JavaHW.iml +++ b/JavaHW.iml @@ -22,7 +22,5 @@ - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 31f50f7..4f1383e 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,12 @@ junit 4.12 + + ru.spbau.mit.kravchenkoyura + hw + 1.0-SNAPSHOT + test + \ No newline at end of file diff --git a/src/test/java/LazyFactoryTest.java b/src/test/java/LazyFactoryTest.java index e9bee79..02d6f84 100644 --- a/src/test/java/LazyFactoryTest.java +++ b/src/test/java/LazyFactoryTest.java @@ -22,7 +22,7 @@ public T get() { } }); T answer = myLazy.get(); - for (int i = 0; i < 100; ++i) { + for (int i = 0; i < 100; i++) { assertSame(answer, myLazy.get()); } @@ -93,7 +93,7 @@ public void run() { })); threads.get(i).start(); } - for (int i = 0; i < n; ++i) { + for (int i = 0; i < n; i++) { try { threads.get(i).join(); } catch (InterruptedException e) { @@ -101,7 +101,7 @@ public void run() { } } assertEquals(1, runs); - for (int i = 0; i < n - 1; ++i) { + for (int i = 0; i < n - 1; i++) { assertSame(answer.get(i), answer.get(i + 1)); } From c07a8a847556f41b2014c058ab20410b2797be64 Mon Sep 17 00:00:00 2001 From: XJIE6 Date: Tue, 1 Mar 2016 10:57:32 +0300 Subject: [PATCH 5/6] removing files --- JavaHW.iml | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 JavaHW.iml diff --git a/JavaHW.iml b/JavaHW.iml deleted file mode 100644 index 3d93e16..0000000 --- a/JavaHW.iml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 64cc7965761a1e708f6a008ae07c258dc0d33b0f Mon Sep 17 00:00:00 2001 From: XJIE6 Date: Mon, 21 Mar 2016 23:47:48 +0300 Subject: [PATCH 6/6] some bugs fixed --- pom.xml | 6 ----- src/main/java/LazyFactory.java | 2 +- src/test/java/LazyFactoryTest.java | 40 ++++++++++++++++++++++++------ 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 4f1383e..31f50f7 100644 --- a/pom.xml +++ b/pom.xml @@ -14,12 +14,6 @@ junit 4.12 - - ru.spbau.mit.kravchenkoyura - hw - 1.0-SNAPSHOT - test - \ No newline at end of file diff --git a/src/main/java/LazyFactory.java b/src/main/java/LazyFactory.java index 7444bc4..c039aac 100644 --- a/src/main/java/LazyFactory.java +++ b/src/main/java/LazyFactory.java @@ -8,7 +8,7 @@ public class LazyFactory { abstract private static class MyLazy implements Lazy { - Boolean got = false; + boolean got = false; Object result = null; MyLazy(Supplier supplier) { diff --git a/src/test/java/LazyFactoryTest.java b/src/test/java/LazyFactoryTest.java index 02d6f84..dd96c48 100644 --- a/src/test/java/LazyFactoryTest.java +++ b/src/test/java/LazyFactoryTest.java @@ -1,3 +1,5 @@ +import org.junit.Assert; + import java.util.ArrayList; import java.util.Random; import java.util.concurrent.CyclicBarrier; @@ -59,14 +61,25 @@ public Integer get() { }); } + @org.junit.Test + public void testNothing1() { + LazyFactory.createLazy1(new Supplier() { + + @Override + public String get() { + Assert.fail(); + return null; + } + }); + } + + private static class LazyFactoryTester2 { - volatile int runs; - static final int n = 10; - ArrayList answer = new ArrayList(); + private volatile int runs; + private static final int n = 10; + private ArrayList answer = new ArrayList(); LazyFactoryTester2(final Supplier supplier) { - answer.clear(); - runs = 0; final Lazy myLazy = LazyFactory.createLazy2(new Supplier() { public T get() { runs++; @@ -181,12 +194,23 @@ public String get() { }); } + @org.junit.Test + public void testNothing2() { + LazyFactory.createLazy2(new Supplier() { + + @Override + public String get() { + Assert.fail(); + return null; + } + }); + } + static class LazyFactoryTester3 { - static final int n = 10; - ArrayList answer = new ArrayList(); + private static final int n = 10; + private ArrayList answer = new ArrayList(); LazyFactoryTester3(final Supplier supplier) { - answer.clear(); final Lazy myLazy = LazyFactory.createLazy3(supplier); final CyclicBarrier barrier = new CyclicBarrier(n); ArrayList threads = new ArrayList(n);