diff --git a/mutex/README.md b/mutex/README.md
deleted file mode 100644
index 997c37a35..000000000
--- a/mutex/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-layout: pattern
-title: Mutex
-folder: mutex
-permalink: /patterns/mutex/
-categories: Concurrency
-tags:
- - Decoupling
----
-
-## Also known as
-
-* Mutual Exclusion Lock
-* Binary Semaphore
-
-## Intent
-Create a lock which only allows a single thread to access a resource at any one instant.
-
-## Class diagram
-
-
-## Applicability
-Use a Mutex when
-
-* You need to prevent two threads accessing a critical section at the same time
-* Concurrent access to a resource could lead to a race condition
-
-## Credits
-
-* [Lock (computer science)](http://en.wikipedia.org/wiki/Lock_(computer_science))
-* [Semaphores](http://tutorials.jenkov.com/java-concurrency/semaphores.html)
diff --git a/mutex/etc/mutex.png b/mutex/etc/mutex.png
deleted file mode 100644
index 3b7c966f8..000000000
Binary files a/mutex/etc/mutex.png and /dev/null differ
diff --git a/mutex/etc/mutex.urm.puml b/mutex/etc/mutex.urm.puml
deleted file mode 100644
index 08cf43b90..000000000
--- a/mutex/etc/mutex.urm.puml
+++ /dev/null
@@ -1,27 +0,0 @@
-@startuml
-package com.iluwatar.mutex {
- class App {
- + App()
- + main(args : String[]) {static}
- }
- class Jar {
- - beans : int
- - lock : Lock
- + Jar(beans : int, lock : Lock)
- + takeBean() : boolean
- }
- interface Lock {
- + acquire() {abstract}
- + release() {abstract}
- }
- class Mutex {
- - owner : Object
- + Mutex()
- + acquire()
- + getOwner() : Object
- + release()
- }
-}
-Jar --> "-lock" Lock
-Mutex ..|> Lock
-@enduml
\ No newline at end of file
diff --git a/mutex/pom.xml b/mutex/pom.xml
deleted file mode 100644
index 84455abb1..000000000
--- a/mutex/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
In this example we have two thieves who are taking beans from a jar. Only one thief can take
- * a bean at a time. This is ensured by a Mutex lock which must be acquired in order to access the
- * jar. Each thief attempts to acquire the lock, take a bean and then release the lock. If the lock
- * has already been acquired, the thief will be prevented from continuing (blocked) until the lock
- * has been released. The thieves stop taking beans once there are no beans left to take.
- */
-public class App {
-
- /**
- * main method.
- */
- public static void main(String[] args) {
- var mutex = new Mutex();
- var jar = new Jar(1000, mutex);
- var peter = new Thief("Peter", jar);
- var john = new Thief("John", jar);
- peter.start();
- john.start();
- }
-
-}
diff --git a/mutex/src/main/java/com/iluwatar/mutex/Jar.java b/mutex/src/main/java/com/iluwatar/mutex/Jar.java
deleted file mode 100644
index 4a0861e1a..000000000
--- a/mutex/src/main/java/com/iluwatar/mutex/Jar.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.mutex;
-
-/**
- * A Jar has a resource of beans which can only be accessed by a single Thief (thread) at any one
- * time. A Mutex lock is used to prevent more than one Thief taking a bean simultaneously.
- */
-public class Jar {
-
- /**
- * The lock which must be acquired to access the beans resource.
- */
- private final Lock lock;
-
- /**
- * The resource within the jar.
- */
- private int beans;
-
- public Jar(int beans, Lock lock) {
- this.beans = beans;
- this.lock = lock;
- }
-
- /**
- * Method for a thief to take a bean.
- */
- public boolean takeBean() {
- var success = false;
- try {
- lock.acquire();
- success = beans > 0;
- if (success) {
- beans = beans - 1;
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- lock.release();
- }
-
- return success;
- }
-
-}
diff --git a/mutex/src/main/java/com/iluwatar/mutex/Lock.java b/mutex/src/main/java/com/iluwatar/mutex/Lock.java
deleted file mode 100644
index bd28c3c08..000000000
--- a/mutex/src/main/java/com/iluwatar/mutex/Lock.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.mutex;
-
-/**
- * Lock is an interface for a lock which can be acquired and released.
- */
-public interface Lock {
-
- void acquire() throws InterruptedException;
-
- void release();
-
-}
diff --git a/mutex/src/main/java/com/iluwatar/mutex/Mutex.java b/mutex/src/main/java/com/iluwatar/mutex/Mutex.java
deleted file mode 100644
index 6c62cc8ea..000000000
--- a/mutex/src/main/java/com/iluwatar/mutex/Mutex.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.mutex;
-
-/**
- * Mutex is an implementation of a mutual exclusion lock.
- */
-public class Mutex implements Lock {
-
- /**
- * The current owner of the lock.
- */
- private Object owner;
-
- /**
- * Returns the current owner of the Mutex, or null if available.
- */
- public Object getOwner() {
- return owner;
- }
-
- /**
- * Method called by a thread to acquire the lock. If the lock has already been acquired this will
- * wait until the lock has been released to re-attempt the acquire.
- */
- @Override
- public synchronized void acquire() throws InterruptedException {
- while (owner != null) {
- wait();
- }
-
- owner = Thread.currentThread();
- }
-
- /**
- * Method called by a thread to release the lock.
- */
- @Override
- public synchronized void release() {
- if (Thread.currentThread() == owner) {
- owner = null;
- notify();
- }
- }
-
-}
diff --git a/mutex/src/main/java/com/iluwatar/mutex/Thief.java b/mutex/src/main/java/com/iluwatar/mutex/Thief.java
deleted file mode 100644
index a9a715970..000000000
--- a/mutex/src/main/java/com/iluwatar/mutex/Thief.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.mutex;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Thief is a class which continually tries to acquire a jar and take a bean from it. When the jar
- * is empty the thief stops.
- */
-public class Thief extends Thread {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(Thief.class);
-
- /**
- * The name of the thief.
- */
- private final String name;
-
- /**
- * The jar.
- */
- private final Jar jar;
-
- public Thief(String name, Jar jar) {
- this.name = name;
- this.jar = jar;
- }
-
- /**
- * In the run method the thief repeatedly tries to take a bean until none are left.
- */
- @Override
- public void run() {
- var beans = 0;
-
- while (jar.takeBean()) {
- beans = beans + 1;
- LOGGER.info("{} took a bean.", name);
- }
-
- LOGGER.info("{} took {} beans.", name, beans);
- }
-
-}
diff --git a/mutex/src/test/java/com/iluwatar/mutex/AppTest.java b/mutex/src/test/java/com/iluwatar/mutex/AppTest.java
deleted file mode 100644
index 7866b22a8..000000000
--- a/mutex/src/test/java/com/iluwatar/mutex/AppTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.mutex;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
-
-/**
- * Application Test Entrypoint
- */
-class AppTest {
-
- @Test
- void shouldExecuteApplicationWithoutException() {
- assertDoesNotThrow(() -> App.main(new String[]{}));
- }
-}
diff --git a/mutex/src/test/java/com/iluwatar/mutex/JarTest.java b/mutex/src/test/java/com/iluwatar/mutex/JarTest.java
deleted file mode 100644
index 786f96e44..000000000
--- a/mutex/src/test/java/com/iluwatar/mutex/JarTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.mutex;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-
-import java.util.stream.IntStream;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-/**
- * Test case for taking beans from a Jar
- */
-public class JarTest {
-
- @Test
- public void testTakeBeans() {
- var mutex = new Mutex();
- var jar = new Jar(10, mutex);
- IntStream.range(0, 10).mapToObj(i -> jar.takeBean()).forEach(Assertions::assertTrue);
- assertFalse(jar.takeBean());
- }
-
-}
diff --git a/mutex/src/test/java/com/iluwatar/mutex/MutexTest.java b/mutex/src/test/java/com/iluwatar/mutex/MutexTest.java
deleted file mode 100644
index d6d0cc1d7..000000000
--- a/mutex/src/test/java/com/iluwatar/mutex/MutexTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.mutex;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.fail;
-
-import org.junit.jupiter.api.Test;
-
-/**
- * Test case for acquiring and releasing a Mutex
- */
-public class MutexTest {
-
- @Test
- public void acquireReleaseTest() {
- var mutex = new Mutex();
- assertNull(mutex.getOwner());
- try {
- mutex.acquire();
- assertEquals(mutex.getOwner(), Thread.currentThread());
- } catch (InterruptedException e) {
- fail(e.toString());
- }
- mutex.release();
- assertNull(mutex.getOwner());
- }
-
-}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index eee0cb154..a3fb757a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -141,8 +141,6 @@
In this example a group of customers are taking fruit from a fruit shop. There is a bowl each
- * of apples, oranges and lemons. Only one customer can access a bowl simultaneously. A Semaphore is
- * used to indicate how many resources are currently available and must be acquired in order for a
- * bowl to be given to a customer. Customers continually try to take fruit until there is no fruit
- * left in the shop.
- */
-public class App {
-
- /**
- * main method.
- */
- public static void main(String[] args) {
- var shop = new FruitShop();
- new Customer("Peter", shop).start();
- new Customer("Paul", shop).start();
- new Customer("Mary", shop).start();
- new Customer("John", shop).start();
- new Customer("Ringo", shop).start();
- new Customer("George", shop).start();
- }
-
-}
diff --git a/semaphore/src/main/java/com/iluwatar/semaphore/Customer.java b/semaphore/src/main/java/com/iluwatar/semaphore/Customer.java
deleted file mode 100644
index 47f503a06..000000000
--- a/semaphore/src/main/java/com/iluwatar/semaphore/Customer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.semaphore;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Customer attempts to repeatedly take Fruit from the FruitShop by taking Fruit from FruitBowl
- * instances.
- */
-public class Customer extends Thread {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(Customer.class);
-
- /**
- * Name of the Customer.
- */
- private final String name;
-
- /**
- * The FruitShop he is using.
- */
- private final FruitShop fruitShop;
-
- /**
- * Their bowl of Fruit.
- */
- private final FruitBowl fruitBowl;
-
- /**
- * Customer constructor.
- */
- public Customer(String name, FruitShop fruitShop) {
- this.name = name;
- this.fruitShop = fruitShop;
- this.fruitBowl = new FruitBowl();
- }
-
- /**
- * The Customer repeatedly takes Fruit from the FruitShop until no Fruit remains.
- */
- public void run() {
-
- while (fruitShop.countFruit() > 0) {
- var bowl = fruitShop.takeBowl();
- if (bowl != null) {
- var fruit = bowl.take();
- if (fruit != null) {
- LOGGER.info("{} took an {}", name, fruit);
- fruitBowl.put(fruit);
- fruitShop.returnBowl(bowl);
- }
- }
- }
-
- LOGGER.info("{} took {}", name, fruitBowl);
-
- }
-
-}
diff --git a/semaphore/src/main/java/com/iluwatar/semaphore/Fruit.java b/semaphore/src/main/java/com/iluwatar/semaphore/Fruit.java
deleted file mode 100644
index 1f4026b92..000000000
--- a/semaphore/src/main/java/com/iluwatar/semaphore/Fruit.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.semaphore;
-
-/**
- * Fruit is a resource stored in a FruitBowl.
- */
-public class Fruit {
-
- /**
- * Enumeration of Fruit Types.
- */
- public enum FruitType {
- ORANGE, APPLE, LEMON
- }
-
- private final FruitType type;
-
- public Fruit(FruitType type) {
- this.type = type;
- }
-
- public FruitType getType() {
- return type;
- }
-
- /**
- * toString method.
- */
- public String toString() {
- switch (type) {
- case ORANGE:
- return "Orange";
- case APPLE:
- return "Apple";
- case LEMON:
- return "Lemon";
- default:
- return "";
- }
- }
-
-}
diff --git a/semaphore/src/main/java/com/iluwatar/semaphore/FruitBowl.java b/semaphore/src/main/java/com/iluwatar/semaphore/FruitBowl.java
deleted file mode 100644
index 5c2901efe..000000000
--- a/semaphore/src/main/java/com/iluwatar/semaphore/FruitBowl.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * The MIT License
- * Copyright © 2014-2019 Ilkka Seppälä
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package com.iluwatar.semaphore;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A FruitBowl contains Fruit.
- */
-public class FruitBowl {
-
- private final List