// Path: src/org/svetovid/SvetovidFormatException.java
// public class SvetovidFormatException extends SvetovidException {
// 
//     private static final long serialVersionUID = 1829394491209593218L;
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified message.
//      *
//      * @param type
//      *            The type to which the string could not be parsed
//      * @param string
//      *            The string that could not be parsed
//      */
//     public SvetovidFormatException(Class<?> type, String string) {
//         super(type.getSimpleName(),
//                 string == null ? null : "\"" + string + "\"");
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified detail
//      * message and cause.
//      *
//      * @param type
//      *            The type to which the string could not be parsed
//      * @param string
//      *            The string that could not be parsed
//      * @param cause
//      *            The cause, if any
//      */
//     public SvetovidFormatException(Class<?> type, String string,
//             Throwable cause) {
//         super(type.getSimpleName(), cause,
//                 string == null ? null : "\"" + string + "\"");
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with multiple suppressed
//      * causes.
//      *
//      * @param causes
//      *            The suppressed causes of this exception
//      */
//     public SvetovidFormatException(Throwable... causes) {
//         super("Array");
//         for (Throwable cause : causes) {
//             addSuppressed(cause);
//         }
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with multiple suppressed
//      * causes.
//      *
//      * @param causes
//      *            The suppressed causes of this exception
//      */
//     public SvetovidFormatException(List<? extends Throwable> causes) {
//         super("Array");
//         for (Throwable cause : causes) {
//             addSuppressed(cause);
//         }
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified detail
//      * message and cause.
//      *
//      * @param messageKey
//      *            The resource bundle key of the detail message, which is saved
//      *            for later retrieval by the {@link #getMessage()} method
//      * @param string
//      *            The string that could not be parsed
//      * @param cause
//      *            The cause, if any
//      */
//     public SvetovidFormatException(String messageKey, String string,
//             Throwable cause) {
//         super(messageKey, cause, string);
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified detail
//      * message and cause.
//      *
//      * @param string
//      *            The string that could not be parsed
//      * @param cause
//      *            The cause of the format exception
//      */
//     public SvetovidFormatException(IllegalFormatException cause, String string) {
//         super("PrintFormat." + cause.getClass().getSimpleName(), cause, string);
//     }
// }


import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.svetovid.SvetovidFormatException;

            Map<String, Object> map = (Map<String, Object>) object;
            return map;
        } catch (ClassCastException e) {
            throw new SvetovidJsonException(JsonType.OBJECT,
                    object.getClass(), path);
        }
    }

    /**
     * Returns the raw object at the specified JSON path resolved on the given
     * object.
     *
     * @param object
     *            the object to apply the path to
     * @param path
     *            the path to follow
     *
     * @return the raw object extracted from the given object using the given
     *         path.
     *
     * @throws SvetovidFormatException
     *             if there was an error parsing the path.
     * @throws SvetovidJsonException
     *             if the array or object along the path cannot be converted.
     */
    public static Object get(Object object, String path) {
        return get(object, path, "");
    }

    private static Object get(Object object, String path, String resolved)

// Path: src/org/svetovid/SvetovidFormatException.java
// public class SvetovidFormatException extends SvetovidException {
// 
//     private static final long serialVersionUID = 1829394491209593218L;
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified message.
//      *
//      * @param type
//      *            The type to which the string could not be parsed
//      * @param string
//      *            The string that could not be parsed
//      */
//     public SvetovidFormatException(Class<?> type, String string) {
//         super(type.getSimpleName(),
//                 string == null ? null : "\"" + string + "\"");
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified detail
//      * message and cause.
//      *
//      * @param type
//      *            The type to which the string could not be parsed
//      * @param string
//      *            The string that could not be parsed
//      * @param cause
//      *            The cause, if any
//      */
//     public SvetovidFormatException(Class<?> type, String string,
//             Throwable cause) {
//         super(type.getSimpleName(), cause,
//                 string == null ? null : "\"" + string + "\"");
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with multiple suppressed
//      * causes.
//      *
//      * @param causes
//      *            The suppressed causes of this exception
//      */
//     public SvetovidFormatException(Throwable... causes) {
//         super("Array");
//         for (Throwable cause : causes) {
//             addSuppressed(cause);
//         }
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with multiple suppressed
//      * causes.
//      *
//      * @param causes
//      *            The suppressed causes of this exception
//      */
//     public SvetovidFormatException(List<? extends Throwable> causes) {
//         super("Array");
//         for (Throwable cause : causes) {
//             addSuppressed(cause);
//         }
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified detail
//      * message and cause.
//      *
//      * @param messageKey
//      *            The resource bundle key of the detail message, which is saved
//      *            for later retrieval by the {@link #getMessage()} method
//      * @param string
//      *            The string that could not be parsed
//      * @param cause
//      *            The cause, if any
//      */
//     public SvetovidFormatException(String messageKey, String string,
//             Throwable cause) {
//         super(messageKey, cause, string);
//     }
// 
//     /**
//      * Constructs a {@code SvetovidFormatException} with the specified detail
//      * message and cause.
//      *
//      * @param string
//      *            The string that could not be parsed
//      * @param cause
//      *            The cause of the format exception
//      */
//     public SvetovidFormatException(IllegalFormatException cause, String string) {
//         super("PrintFormat." + cause.getClass().getSimpleName(), cause, string);
//     }
// }


// Path: src/org/svetovid/util/JsonHelper.java
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.svetovid.SvetovidFormatException;

            Map<String, Object> map = (Map<String, Object>) object;
            return map;
        } catch (ClassCastException e) {
            throw new SvetovidJsonException(JsonType.OBJECT,
                    object.getClass(), path);
        }
    }

    /**
     * Returns the raw object at the specified JSON path resolved on the given
     * object.
     *
     * @param object
     *            the object to apply the path to
     * @param path
     *            the path to follow
     *
     * @return the raw object extracted from the given object using the given
     *         path.
     *
     * @throws SvetovidFormatException
     *             if there was an error parsing the path.
     * @throws SvetovidJsonException
     *             if the array or object along the path cannot be converted.
     */
    public static Object get(Object object, String path) {
        return get(object, path, "");
    }

    private static Object get(Object object, String path, String resolved)

            throws SvetovidFormatException, SvetovidJsonException {
