add checks for null arguments for issue 65
diff --git a/src/main/java/org/yaml/snakeyaml/JavaBeanDumper.java b/src/main/java/org/yaml/snakeyaml/JavaBeanDumper.java
index 0e6fe06..254394d 100644
--- a/src/main/java/org/yaml/snakeyaml/JavaBeanDumper.java
+++ b/src/main/java/org/yaml/snakeyaml/JavaBeanDumper.java
@@ -57,6 +57,12 @@
     }

 

     public JavaBeanDumper(Representer representer, DumperOptions options) {

+        if (representer == null) {

+            throw new NullPointerException("Representer must be provided.");

+        }

+        if (options == null) {

+            throw new NullPointerException("DumperOptions must be provided.");

+        }

         this.options = options;

         this.representer = representer;

     }

diff --git a/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java b/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
index 5194f95..881325f 100644
--- a/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
+++ b/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
@@ -34,6 +34,9 @@
     private Loader loader;

 

     public JavaBeanLoader(TypeDescription typeDescription) {

+        if (typeDescription == null) {

+            throw new NullPointerException("TypeDescription must be provided.");

+        }

         Constructor constructor = new Constructor(typeDescription.getType());

         typeDescription.setRoot(true);

         constructor.addTypeDescription(typeDescription);

diff --git a/src/test/java/org/yaml/snakeyaml/JavaBeanDumperTest.java b/src/test/java/org/yaml/snakeyaml/JavaBeanDumperTest.java
index 274d3d1..d1dafcd 100644
--- a/src/test/java/org/yaml/snakeyaml/JavaBeanDumperTest.java
+++ b/src/test/java/org/yaml/snakeyaml/JavaBeanDumperTest.java
@@ -68,6 +68,24 @@
                 output);

     }

 

+    public void testDumpObjectNullRepresenter() {

+        try {

+            new JavaBeanDumper(null, new DumperOptions());

+            fail();

+        } catch (NullPointerException e) {

+            assertEquals("Representer must be provided.", e.getMessage());

+        }

+    }

+

+    public void testDumpObjectNullOptions() {

+        try {

+            new JavaBeanDumper(new Representer(), null);

+            fail();

+        } catch (NullPointerException e) {

+            assertEquals("DumperOptions must be provided.", e.getMessage());

+        }

+    }

+

     public static class DumpBean {

         private String name;

         private int number;

diff --git a/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java b/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
index 2e4d170..4e58169 100644
--- a/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
+++ b/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
@@ -64,6 +64,25 @@
         assertEquals("Test me.", parsed.getName());

     }

 

+    @SuppressWarnings("unchecked")

+    public void testLoaderNullClass() {

+        try {

+            new JavaBeanLoader<Bean>((Class) null);

+            fail();

+        } catch (NullPointerException e) {

+            assertEquals("Root type must be provided.", e.getMessage());

+        }

+    }

+

+    public void testLoaderNullTypeDescription() {

+        try {

+            new JavaBeanLoader<Bean>((TypeDescription) null);

+            fail();

+        } catch (NullPointerException e) {

+            assertEquals("TypeDescription must be provided.", e.getMessage());

+        }

+    }

+

     public static class Bean {

         private String name;

         private int id;