Index: tapas/common/implementation/com/ether/JSONHelperImpl.java
===================================================================
--- tapas/common/implementation/com/ether/JSONHelperImpl.java	(revision 399)
+++ tapas/common/implementation/com/ether/JSONHelperImpl.java	(revision 400)
@@ -13,9 +13,6 @@
 import org.springframework.beans.factory.InitializingBean;
 
-import java.util.AbstractCollection;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 
@@ -78,56 +75,6 @@
     public <T> T fromJSON( @NotNull final JSON json, @NotNull final Class<T> beanClass )
     {
-        if( json.isArray() )
-        {
-            final JSONArray jsonArray = JSONArray.fromObject( json, _jsonConfig );
-            final Class<? super T> superclass = beanClass.getSuperclass();
-            if( superclass.isAssignableFrom( AbstractCollection.class ) )
-            {
-                final Tapas tapas = new Tapas();
-                final List<Request> requests = new ArrayList<Request>();
-                for( final Object jsonElement : jsonArray )
-                {
-                    final Request request = fromJSON( (JSON) jsonElement, Request.class );
-                    requests.add( request );
-                }
-                tapas.setRequests( requests );
-                return (T) tapas;
-            }
-//
-//            if( beanClass.isArray() )
-//            {
-//                final Class<?> componentType = beanClass.getComponentType();
-//                //json.sf.net does not support Long[] or long[]
-//                if( Long.class.equals( componentType ) || Long.TYPE.equals( componentType ) )
-//                {
-//                    final Integer[] integers = (Integer[]) JSONArray.toArray( jsonArray, Integer.class );
-//                    if( Long.class.equals( componentType ) )
-//                    {
-//                        final Long[] resultArray = new Long[integers.length];
-//                        for( int i = 0; i < integers.length; ++i )
-//                            resultArray[i] = integers[i].longValue();
-//                        return (T) resultArray;
-//                    }
-//                    if( Long.TYPE.equals( componentType ) )
-//                    {
-//                        final long[] resultArray = new long[integers.length];
-//                        for( int i = 0; i < integers.length; ++i )
-//                            resultArray[i] = integers[i].longValue();
-//                        return (T) resultArray;
-//                    }
-//                }
-//                return (T) JSONArray.toArray( jsonArray, componentType );
-//            }
-//            if( beanClass.isAssignableFrom( Collection.class ) )
-//            {
-//                final TypeVariable<Class<T>>[] typeParameters = beanClass.getTypeParameters();
-//                if( null == typeParameters || typeParameters.length != 1 || null == typeParameters[0] )
-//                    return (T) JSONArray.toCollection( jsonArray );
-//                return (T) JSONArray.toCollection( jsonArray, typeParameters[0].getGenericDeclaration() );
-//            }
-        }
         final JSONObject jsonObject = JSONObject.fromObject( json, _jsonConfig );
-        return (T) JSONObject.toBean( jsonObject, beanClass );
-//        return (T) JSONObject.toBean( jsonObject, beanClass, _mapClassesForDeserialization.get( beanClass ) );
+        return (T) JSONObject.toBean( jsonObject, beanClass, _mapClassesForDeserialization.get( beanClass ) );
     }
 
Index: tapas/common/implementation/com/ether/Observation.java
===================================================================
--- tapas/common/implementation/com/ether/Observation.java	(revision 399)
+++ 	(revision )
@@ -1,19 +1,0 @@
-package com.ether;
-
-import java.util.Date;
-
-public class Observation
-{
-
-    public Date getDate()
-    {
-        return _date;
-    }
-
-    public void setDate( final Date date )
-    {
-        _date = date;
-    }
-
-    private Date _date;
-}
Index: tapas/common/implementation/com/ether/Preference.java
===================================================================
--- tapas/common/implementation/com/ether/Preference.java	(revision 399)
+++ 	(revision )
@@ -1,85 +1,0 @@
-package com.ether;
-
-import org.jetbrains.annotations.NotNull;
-
-public class Preference
-{
-    @NotNull
-    public String getFormat()
-    {
-        return _format;
-    }
-
-    public void setFormat( @NotNull final String format )
-    {
-        _format = format;
-    }
-
-    @NotNull
-    public String getRayleighExtinction()
-    {
-        return _rayleighExtinction;
-    }
-
-    public void setRayleighExtinction( @NotNull final String rayleighExtinction )
-    {
-        _rayleighExtinction = rayleighExtinction;
-    }
-
-    @NotNull
-    public String getH2oExtinction()
-    {
-        return _h2oExtinction;
-    }
-
-    public void setH2oExtinction( @NotNull final String h2oExtinction )
-    {
-        _h2oExtinction = h2oExtinction;
-    }
-
-    @NotNull
-    public String getO3Extinction()
-    {
-        return _o3Extinction;
-    }
-
-    public void setO3Extinction( @NotNull final String o3Extinction )
-    {
-        _o3Extinction = o3Extinction;
-    }
-
-    @NotNull
-    public String getO2Extinction()
-    {
-        return _o2Extinction;
-    }
-
-    public void setO2Extinction( @NotNull final String o2Extinction )
-    {
-        _o2Extinction = o2Extinction;
-    }
-
-    @NotNull
-    public String getCo2Extinction()
-    {
-        return _co2Extinction;
-    }
-
-    public void setCo2Extinction( @NotNull final String co2Extinction )
-    {
-        _co2Extinction = co2Extinction;
-    }
-
-    @NotNull
-    private String _format;
-    @NotNull
-    private String _rayleighExtinction;
-    @NotNull
-    private String _h2oExtinction;
-    @NotNull
-    private String _o3Extinction;
-    @NotNull
-    private String _o2Extinction;
-    @NotNull
-    private String _co2Extinction;
-}
Index: tapas/common/implementation/com/ether/Request.java
===================================================================
--- tapas/common/implementation/com/ether/Request.java	(revision 399)
+++ 	(revision )
@@ -1,46 +1,0 @@
-package com.ether;
-
-import org.jetbrains.annotations.NotNull;
-
-public class Request
-{
-    @NotNull
-    public Preference getPreference()
-    {
-        return _preference;
-    }
-
-    public void setPreference( @NotNull final Preference preference )
-    {
-        _preference = preference;
-    }
-
-    @NotNull
-    public Observation getObservation()
-    {
-        return _observation;
-    }
-
-    public void setObservation( @NotNull final Observation observation )
-    {
-        _observation = observation;
-    }
-
-    @NotNull
-    public String getAtmosphere()
-    {
-        return _atmosphere;
-    }
-
-    public void setAtmosphere( @NotNull final String atmosphere )
-    {
-        _atmosphere = atmosphere;
-    }
-
-    @NotNull
-    private Preference _preference;
-    @NotNull
-    private Observation _observation;
-    @NotNull
-    private String _atmosphere;
-}
Index: tapas/common/implementation/com/ether/Tapas.java
===================================================================
--- tapas/common/implementation/com/ether/Tapas.java	(revision 399)
+++ 	(revision )
@@ -1,22 +1,0 @@
-package com.ether;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.util.List;
-
-public class Tapas
-{
-    @NotNull
-    public List<Request> getRequests()
-    {
-        return _requests;
-    }
-
-    public void setRequests( @NotNull final List<Request> requests )
-    {
-        _requests = requests;
-    }
-
-    @NotNull
-    private List<Request> _requests;
-}
Index: tapas/common/implementation/log4j.xml
===================================================================
--- tapas/common/implementation/log4j.xml	(revision 399)
+++ tapas/common/implementation/log4j.xml	(revision 400)
@@ -10,5 +10,5 @@
 
     <appender name="file" class="org.apache.log4j.FileAppender">
-        <param name="file" value="/home_local/workspace/tapas/web/log4j.log"/>
+        <param name="file" value="/home_local/workspaces/log4j_tapas.log"/>
         <layout class="org.apache.log4j.PatternLayout">
             <param name="ConversionPattern" value="LOG4J %p %d{ISO8601} - %c{1} - %m%n"/>
Index: tapas/common/interface/com/ether/Pair.java
===================================================================
--- tapas/common/interface/com/ether/Pair.java	(revision 400)
+++ tapas/common/interface/com/ether/Pair.java	(revision 400)
@@ -0,0 +1,65 @@
+package com.ether;
+
+public class Pair<V1, V2>
+{
+    public Pair()
+    {
+        this( null, null );
+    }
+
+    public Pair( final V1 firstValue,
+                 final V2 secondValue )
+    {
+        _firstValue = firstValue;
+        _secondValue = secondValue;
+    }
+
+    public final V1 getFirstValue()
+    {
+        return _firstValue;
+    }
+
+    public final void setFirstValue( final V1 firstValue )
+    {
+        _firstValue = firstValue;
+    }
+
+    public V2 getSecondValue()
+    {
+        return _secondValue;
+    }
+
+    public void setSecondValue( final V2 secondValue )
+    {
+        _secondValue = secondValue;
+    }
+
+    public String toString()
+    {
+        return String.format( "<%s,%s>", _firstValue, _secondValue );
+    }
+
+    public boolean equals( final Object o )
+    {
+        if( this == o ) return true;
+        if( !( o instanceof Pair ) ) return false;
+
+        final Pair pair = (Pair) o;
+
+        if( _firstValue != null ? !_firstValue.equals( pair._firstValue ) : pair._firstValue != null ) return false;
+        if( _secondValue != null ? !_secondValue.equals( pair._secondValue ) : pair._secondValue != null ) return false;
+
+        return true;
+    }
+
+    public int hashCode()
+    {
+        int result;
+        result = ( _firstValue != null ? _firstValue.hashCode() : 0 );
+        result = 31 * result + ( _secondValue != null ? _secondValue.hashCode() : 0 );
+        return result;
+    }
+
+    private V1 _firstValue;
+    private V2 _secondValue;
+}
