diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
index 7989255..24a0daa 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
@@ -63,6 +63,21 @@
     }
 
     /**
+     * Construct object of java attribute info.
+     *
+     * @param attrType YANG type
+     * @param name attribute name
+     * @param isListAttr is list attribute
+     * @param isQualifiedName is qualified name
+     */
+    public JavaAttributeInfo(YangType<?> attrType, String name, boolean isListAttr, boolean isQualifiedName) {
+        this.attrType = attrType;
+        this.name = name;
+        this.isListAttr = isListAttr;
+        this.isQualifiedName = isQualifiedName;
+    }
+
+    /**
      * Get the data type info of attribute.
      *
      * @return the data type info of attribute
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
index 4a9c4d7..99fadab 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
@@ -176,21 +176,10 @@
     }
 
     /**
-     * Returns backspaced string.
-     *
-     * @param charString char string
-     * @return backspace string
-     */
-    public static String deleteLastChar(String charString) {
-
-        return charString.substring(0, charString.length() - 1);
-    }
-
-    /**
      * Get the directory path of the package in canonical form.
      *
      * @param baseCodeGenPath base path where the generated files needs to be
-     *            put.
+     *            put
      * @param pathOfJavaPkg java package of the file being generated
      * @return absolute path of the package in canonical form
      */
@@ -211,7 +200,7 @@
      * Get the absolute path of the package in canonical form.
      *
      * @param baseCodeGenPath base path where the generated files needs to be
-     *            put.
+     *            put
      * @param pathOfJavaPkg java package of the file being generated
      * @return absolute path of the package in canonical form
      */
