Index: java/main/src/main/java/com/framsticks/params/SimpleAbstractAccess.java
===================================================================
--- java/main/src/main/java/com/framsticks/params/SimpleAbstractAccess.java	(revision 77)
+++ java/main/src/main/java/com/framsticks/params/SimpleAbstractAccess.java	(revision 78)
@@ -38,17 +38,13 @@
 		this.framsClass = framsClass;
 	}
-
-
-
-
     /**
 	 * Simple String key, value class.
 	 */
-	private static class Entry {
-
-		String key;
-		String value;
-
-		Entry(String key, String value) {
+	public static class Entry {
+
+		public final String key;
+		public final String value;
+
+		public Entry(String key, String value) {
 			this.key = key;
 			this.value = value;
@@ -331,5 +327,4 @@
 
         Entry entry;
-
         while ((entry = readEntry(source)) != null) {
             Param param = getParam(entry.key);
@@ -351,138 +346,6 @@
     }
 
-    @Override
-	public List<Exception> load2(String line) throws Exception {
-		this.clearValues();
-
-		// list of not terminable exceptions that occured
-		List<Exception> exceptions = new ArrayList<Exception>();
-
-		int indexOfColon = line.indexOf(':');
-		if (indexOfColon < 0)
-			indexOfColon = line.length();
-		String classId = line.substring(0, indexOfColon).trim();
-		if (!getId().equals(classId))
-			throw new Exception(
-					"Inappropriate getId of param interface (class), specified \""
-							+ classId + "\" while should be \"" + getId()
-							+ "\"");
-		String parameters;
-		if (indexOfColon == line.length())
-			parameters = "";
-		else
-			parameters = line.substring(indexOfColon + 1);
-
-		// tokenize
-		boolean doubleQuotes = false;
-		char previousChar = ',';
-		List<Entry> result = new ArrayList<Entry>();
-		StringBuilder stringBuilder = new StringBuilder();
-		String key = "";
-		if (parameters.trim().length() > 0) {
-			for (char currentChar : parameters.toCharArray()) {
-				if (!doubleQuotes && currentChar == '=' && "".equals(key)) {
-					key = stringBuilder.toString();
-					stringBuilder = new StringBuilder();
-				} else if (!doubleQuotes && currentChar == ',') {
-					if (previousChar == ',') {
-						result.add(new Entry(key.trim(), null));
-					} else {
-						result.add(new Entry(key.trim(), stringBuilder
-								.toString().trim()));
-					}
-					stringBuilder = new StringBuilder();
-					key = "";
-				} else if (currentChar == '"') {
-					if (previousChar == '\\') {
-						stringBuilder.deleteCharAt(stringBuilder.length() - 1);
-						stringBuilder.append(currentChar);
-					} else
-						doubleQuotes = !doubleQuotes;
-				} else {
-					stringBuilder.append(currentChar);
-				}
-
-				previousChar = currentChar;
-			}
-
-			String last = stringBuilder.toString().trim();
-			// if (last.length() > 0 || previousChar == '\"'
-			// || previousChar == ':')
-			result.add(new Entry(key.trim(), last));
-
-			if (doubleQuotes)
-				throw new Exception(
-						"Double quotes expected while end of line met");
-		}
-
-		// if successfully parsed set all necessary values
-
-		//TODO: name omitting
-		Param currentParam = null;
-		boolean illegallyOmittedName = false;
-		for (Entry pair : result) {
-			try {
-
-				if (pair.key != null && !"".equals(pair.key)) {
-					Param param = getParam(pair.key);
-					if (param == null) {
-						illegallyOmittedName = true;
-						throw new Exception("No parameter with such id: "
-								+ pair.key);
-					} else {
-						currentParam = param;
-						illegallyOmittedName = false;
-					}
-				} else if (illegallyOmittedName
-						|| (currentParam.getFlags() & Flags.CANOMITNAME) == 0) {
-					throw new Exception(
-							"Parameter with offset: "
-									+ currentParam
-									+ " is not set, "
-									+ "because it's definition or definition of one of the previous params "
-									+ "does not contain flag, which allow to skip the getName (flag 1024)");
-				}
-
-				if (pair.value != null) {
-					int setFlag = this.set(currentParam, pair.value);
-					if ((setFlag & Flags.PSET_HITMIN) != 0) {
-						exceptions.add(createBoundaryHitException(currentParam, pair.value, Flags.PSET_HITMIN));
-					}
-
-					if ((setFlag & Flags.PSET_HITMAX) != 0) {
-						exceptions.add(createBoundaryHitException(currentParam, pair.value, Flags.PSET_HITMAX));
-					}
-
-					if ((setFlag & Flags.PSET_RONLY) != 0) {
-						throw (new Exception(
-								"Tried to set a read-only attribute \""
-										+ currentParam.getId()
-										+ "\" in class \"" + getId() + "\""));
-					}
-				}
-
-			} catch (Exception e) {
-				exceptions.add(e);
-			//} finally {
-			//  currentProperty++;
-			}
-		}
-		return exceptions;
-	}
-
-	private Exception createBoundaryHitException(Param param, String value, int flag) {
-		boolean minimum = (flag & Flags.PSET_HITMIN) != 0;
-		String boundary = (minimum ? param.getMin(Object.class) : param.getMax(Object.class)).toString();
-		String name =  (minimum ? "minimum" : "maximum");
-		return new Exception("Tried to set attribute \""
-				+ param.getId()
-				+ "\" in class \""
-				+ getId()
-				+ "\" to value which exceeds " + name + " ("
-				+ value
-				+ "), truncated to: "
-				+ boundary);
-	}
-	
+
+
 	protected abstract <T> void internalSet(Param param, T value);
 
