Repository: drill
Updated Branches:
  refs/heads/master b55e2328d -> 718abac46


http://git-wip-us.apache.org/repos/asf/drill/blob/deee06e3/exec/java-exec/src/main/codegen/templates/RepeatedValueVectors.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/codegen/templates/RepeatedValueVectors.java 
b/exec/java-exec/src/main/codegen/templates/RepeatedValueVectors.java
index 6431d88..2f5ec18 100644
--- a/exec/java-exec/src/main/codegen/templates/RepeatedValueVectors.java
+++ b/exec/java-exec/src/main/codegen/templates/RepeatedValueVectors.java
@@ -35,27 +35,24 @@ package org.apache.drill.exec.vector;
 
 <#include "/@includes/vv_imports.ftl" />
 
-
-@SuppressWarnings("unused")
 /**
  * Repeated${minor.class} implements a vector with multple values per row 
(e.g. JSON array or
  * repeated protobuf field).  The implementation uses two additional value 
vectors; one to convert
  * the index offset to the underlying element offset, and another to store the 
number of values
  * in the vector.
  *
- * NB: this class is automatically generated from ValueVectorTypes.tdd using 
FreeMarker.
+ * NB: this class is automatically generated from ${.template_name} and 
ValueVectorTypes.tdd using FreeMarker.
  */
 
 public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector implements Repeated<#if type.major == 
"VarLen">VariableWidth<#else>FixedWidth</#if>VectorLike {
-  private static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(Repeated${minor.class}Vector.class);
+  //private static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(Repeated${minor.class}Vector.class);
 
   // we maintain local reference to concrete vector type for performance 
reasons.
   private ${minor.class}Vector values;
   private final FieldReader reader = new 
Repeated${minor.class}ReaderImpl(Repeated${minor.class}Vector.this);
   private final Mutator mutator = new Mutator();
   private final Accessor accessor = new Accessor();
-  
-  
+
   public Repeated${minor.class}Vector(MaterializedField field, BufferAllocator 
allocator) {
     super(field, allocator);
     
addOrGetVector(VectorDescriptor.create(Types.required(field.getType().getMinorType())));
@@ -72,17 +69,17 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
   }
 
   @Override
-  public FieldReader getReader(){
+  public FieldReader getReader() {
     return reader;
   }
 
   @Override
-  public ${minor.class}Vector getDataVector(){
+  public ${minor.class}Vector getDataVector() {
     return values;
   }
 
   @Override
-  public TransferPair getTransferPair(){
+  public TransferPair getTransferPair() {
     return new TransferImpl(getField());
   }
 
@@ -105,7 +102,7 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
     return result;
   }
 
-  public void transferTo(Repeated${minor.class}Vector target){
+  public void transferTo(Repeated${minor.class}Vector target) {
     target.clear();
     offsets.transferTo(target.offsets);
     values.transferTo(target.values);
@@ -115,11 +112,11 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
   public void splitAndTransferTo(final int startIndex, final int groups, 
Repeated${minor.class}Vector to) {
     final UInt4Vector.Accessor a = offsets.getAccessor();
     final UInt4Vector.Mutator m = to.offsets.getMutator();
-    
-    final int startPos = offsets.getAccessor().get(startIndex);
-    final int endPos = offsets.getAccessor().get(startIndex + groups);
+
+    final int startPos = a.get(startIndex);
+    final int endPos = a.get(startIndex + groups);
     final int valuesToCopy = endPos - startPos;
-    
+
     values.splitAndTransferTo(startPos, valuesToCopy, to.values);
     to.offsets.clear();
     to.offsets.allocateNew(groups + 1);
@@ -130,53 +127,57 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
     }
     m.setValueCount(groups == 0 ? 0 : groups + 1);
   }
-  
-  private class TransferImpl implements TransferPair{
-    Repeated${minor.class}Vector to;
-    
-    public TransferImpl(MaterializedField field){
+
+  private class TransferImpl implements TransferPair {
+    final Repeated${minor.class}Vector to;
+
+    public TransferImpl(MaterializedField field) {
       this.to = new Repeated${minor.class}Vector(field, allocator);
     }
 
-    public TransferImpl(Repeated${minor.class}Vector to){
+    public TransferImpl(Repeated${minor.class}Vector to) {
       this.to = to;
     }
 
-    public Repeated${minor.class}Vector getTo(){
+    @Override
+    public Repeated${minor.class}Vector getTo() {
       return to;
     }
-    
-    public void transfer(){
+
+    @Override
+    public void transfer() {
       transferTo(to);
     }
 
+    @Override
     public void splitAndTransfer(int startIndex, int length) {
       splitAndTransferTo(startIndex, length, to);
     }
-    
+
     @Override
     public void copyValueSafe(int fromIndex, int toIndex) {
       to.copyFromSafe(fromIndex, toIndex, Repeated${minor.class}Vector.this);
     }
   }
 
-    public void copyFrom(int inIndex, int outIndex, 
Repeated${minor.class}Vector v){
-      final int count = v.getAccessor().getInnerValueCountAt(inIndex);
-      getMutator().startNewValue(outIndex);
+    public void copyFrom(int inIndex, int outIndex, 
Repeated${minor.class}Vector v) {
+      final Accessor vAccessor = v.getAccessor();
+      final int count = vAccessor.getInnerValueCountAt(inIndex);
+      mutator.startNewValue(outIndex);
       for (int i = 0; i < count; i++) {
-        getMutator().add(outIndex, v.getAccessor().get(inIndex, i));
+        mutator.add(outIndex, vAccessor.get(inIndex, i));
       }
     }
 
-    public void copyFromSafe(int inIndex, int outIndex, 
Repeated${minor.class}Vector v){
-      final int count = v.getAccessor().getInnerValueCountAt(inIndex);
-      getMutator().startNewValue(outIndex);
+    public void copyFromSafe(int inIndex, int outIndex, 
Repeated${minor.class}Vector v) {
+      final Accessor vAccessor = v.getAccessor();
+      final int count = vAccessor.getInnerValueCountAt(inIndex);
+      mutator.startNewValue(outIndex);
       for (int i = 0; i < count; i++) {
-        getMutator().addSafe(outIndex, v.getAccessor().get(inIndex, i));
+        mutator.addSafe(outIndex, vAccessor.get(inIndex, i));
       }
     }
 
-
   public boolean allocateNewSafe() {
     /* boolean to keep track if all the memory allocation were successful
      * Used in the case of composite vectors when we need to allocate multiple
@@ -197,7 +198,8 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
     mutator.reset();
     return true;
   }
-  
+
+  @Override
   public void allocateNew() {
     try {
       offsets.allocateNew();
@@ -216,10 +218,10 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
     return super.getMetadataBuilder()
             .setVarByteLength(values.getVarByteLength());
   }
-  
+
   public void allocateNew(int totalBytes, int valueCount, int innerValueCount) 
{
     try {
-      offsets.allocateNew(valueCount+1);
+      offsets.allocateNew(valueCount + 1);
       values.allocateNew(totalBytes, innerValueCount);
     } catch (OutOfMemoryRuntimeException e) {
       clear();
@@ -235,6 +237,7 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
 
   <#else>
 
+  @Override
   public void allocateNew(int valueCount, int innerValueCount) {
     clear();
     /* boolean to keep track if all the memory allocation were successful
@@ -244,7 +247,7 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
      */
     boolean success = false;
     try {
-      offsets.allocateNew(valueCount+1);
+      offsets.allocateNew(valueCount + 1);
       values.allocateNew(innerValueCount);
     } catch(OutOfMemoryRuntimeException e){
       clear();
@@ -253,27 +256,29 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
     offsets.zeroVector();
     mutator.reset();
   }
-  </#if>
 
+  </#if>
 
   // This is declared a subclass of the accessor declared inside of 
FixedWidthVector, this is also used for
   // variable length vectors, as they should ahve consistent interface as much 
as possible, if they need to diverge
   // in the future, the interface shold be declared in the respective value 
vector superclasses for fixed and variable
   // and we should refer to each in the generation template
   public final class Accessor extends 
BaseRepeatedValueVector.BaseRepeatedAccessor {
-
+    @Override
     public List<${friendlyType}> getObject(int index) {
-      List<${friendlyType}> vals = new JsonStringArrayList();
-      int start = offsets.getAccessor().get(index);
-      int end = offsets.getAccessor().get(index+1);
-      for(int i = start; i < end; i++){
-        vals.add(values.getAccessor().getObject(i));
+      final List<${friendlyType}> vals = new JsonStringArrayList<>();
+      final UInt4Vector.Accessor offsetsAccessor = offsets.getAccessor();
+      final int start = offsetsAccessor.get(index);
+      final int end = offsetsAccessor.get(index + 1);
+      final ${minor.class}Vector.Accessor valuesAccessor = 
values.getAccessor();
+      for(int i = start; i < end; i++) {
+        vals.add(valuesAccessor.getObject(i));
       }
       return vals;
     }
-    
-    public ${friendlyType} getSingleObject(int index, int arrayIndex){
-      int start = offsets.getAccessor().get(index);
+
+    public ${friendlyType} getSingleObject(int index, int arrayIndex) {
+      final int start = offsets.getAccessor().get(index);
       return values.getAccessor().getObject(start + arrayIndex);
     }
 
@@ -291,21 +296,21 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
       return values.getAccessor().get(offsets.getAccessor().get(index) + 
positionIndex);
     }
 
-    public void get(int index, Repeated${minor.class}Holder holder){
+    public void get(int index, Repeated${minor.class}Holder holder) {
       holder.start = offsets.getAccessor().get(index);
       holder.end =  offsets.getAccessor().get(index+1);
       holder.vector = values;
     }
 
     public void get(int index, int positionIndex, ${minor.class}Holder holder) 
{
-      int offset = offsets.getAccessor().get(index);
+      final int offset = offsets.getAccessor().get(index);
       assert offset >= 0;
       assert positionIndex < getInnerValueCountAt(index);
       values.getAccessor().get(offset + positionIndex, holder);
     }
-    
+
     public void get(int index, int positionIndex, Nullable${minor.class}Holder 
holder) {
-      int offset = offsets.getAccessor().get(index);
+      final int offset = offsets.getAccessor().get(index);
       assert offset >= 0;
       if (positionIndex >= getInnerValueCountAt(index)) {
         holder.isSet = 0;
@@ -314,10 +319,9 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
       values.getAccessor().get(offset + positionIndex, holder);
     }
   }
-  
-  public final class Mutator extends 
BaseRepeatedValueVector.BaseRepeatedMutator implements RepeatedMutator {
 
-    private Mutator() { }
+  public final class Mutator extends 
BaseRepeatedValueVector.BaseRepeatedMutator implements RepeatedMutator {
+    private Mutator() {}
 
     /**
      * Add an element to the given record index.  This is similar to the set() 
method in other
@@ -338,7 +342,7 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
     }
 
     public void addSafe(int index, byte[] bytes, int start, int length) {
-      int nextOffset = offsets.getAccessor().get(index+1);
+      final int nextOffset = offsets.getAccessor().get(index+1);
       values.getMutator().setSafe(nextOffset, bytes, start, length);
       offsets.getMutator().setSafe(index+1, nextOffset+1);
     }
@@ -346,76 +350,77 @@ public final class Repeated${minor.class}Vector extends 
BaseRepeatedValueVector
     <#else>
 
     public void addSafe(int index, ${minor.javaType!type.javaType} srcValue) {
-      int nextOffset = offsets.getAccessor().get(index+1);
+      final int nextOffset = offsets.getAccessor().get(index+1);
       values.getMutator().setSafe(nextOffset, srcValue);
       offsets.getMutator().setSafe(index+1, nextOffset+1);
     }
-        
+
     </#if>
 
-    
-    public void setSafe(int index, Repeated${minor.class}Holder h){
-      ${minor.class}Holder ih = new ${minor.class}Holder();
-      getMutator().startNewValue(index);
+    public void setSafe(int index, Repeated${minor.class}Holder h) {
+      final ${minor.class}Holder ih = new ${minor.class}Holder();
+      final ${minor.class}Vector.Accessor hVectorAccessor = 
h.vector.getAccessor();
+      mutator.startNewValue(index);
       for(int i = h.start; i < h.end; i++){
-        h.vector.getAccessor().get(i, ih);
-        getMutator().addSafe(index, ih);
+        hVectorAccessor.get(i, ih);
+        mutator.addSafe(index, ih);
       }
     }
-    
-    public void addSafe(int index, ${minor.class}Holder holder){
+
+    public void addSafe(int index, ${minor.class}Holder holder) {
       int nextOffset = offsets.getAccessor().get(index+1);
       values.getMutator().setSafe(nextOffset, holder);
       offsets.getMutator().setSafe(index+1, nextOffset+1);
     }
-    
-    public void addSafe(int index, Nullable${minor.class}Holder holder){
-      int nextOffset = offsets.getAccessor().get(index+1);
+
+    public void addSafe(int index, Nullable${minor.class}Holder holder) {
+      final int nextOffset = offsets.getAccessor().get(index+1);
       values.getMutator().setSafe(nextOffset, holder);
       offsets.getMutator().setSafe(index+1, nextOffset+1);
     }
-    
+
     <#if (fields?size > 1) && !(minor.class == "Decimal9" || minor.class == 
"Decimal18" || minor.class == "Decimal28Sparse" || minor.class == 
"Decimal38Sparse" || minor.class == "Decimal28Dense" || minor.class == 
"Decimal38Dense")>
-    public void addSafe(int arrayIndex, <#list fields as field>${field.type} 
${field.name}<#if field_has_next>, </#if></#list>){
+    public void addSafe(int arrayIndex, <#list fields as field>${field.type} 
${field.name}<#if field_has_next>, </#if></#list>) {
       int nextOffset = offsets.getAccessor().get(arrayIndex+1);
       values.getMutator().setSafe(nextOffset, <#list fields as 
field>${field.name}<#if field_has_next>, </#if></#list>);
       offsets.getMutator().setSafe(arrayIndex+1, nextOffset+1);
     }
     </#if>
-    
-    protected void add(int index, ${minor.class}Holder holder){
+
+    protected void add(int index, ${minor.class}Holder holder) {
       int nextOffset = offsets.getAccessor().get(index+1);
       values.getMutator().set(nextOffset, holder);
       offsets.getMutator().set(index+1, nextOffset+1);
     }
-    
-    public void add(int index, Repeated${minor.class}Holder holder){
-      
+
+    public void add(int index, Repeated${minor.class}Holder holder) {
+
       ${minor.class}Vector.Accessor accessor = holder.vector.getAccessor();
       ${minor.class}Holder innerHolder = new ${minor.class}Holder();
-      
-      for(int i = holder.start; i < holder.end; i++){
+
+      for(int i = holder.start; i < holder.end; i++) {
         accessor.get(i, innerHolder);
         add(index, innerHolder);
       }
     }
 
-    public void generateTestData(final int valCount){
-      int[] sizes = {1,2,0,6};
+    @Override
+    public void generateTestData(final int valCount) {
+      final int[] sizes = {1, 2, 0, 6};
       int size = 0;
       int runningOffset = 0;
-      for(int i =1; i < valCount+1; i++, size++){
+      final UInt4Vector.Mutator offsetsMutator = offsets.getMutator();
+      for(int i = 1; i < valCount + 1; i++, size++) {
         runningOffset += sizes[size % sizes.length];
-        offsets.getMutator().set(i, runningOffset);
+        offsetsMutator.set(i, runningOffset);
       }
-      values.getMutator().generateTestData(valCount*9);
+      values.getMutator().generateTestData(valCount * 9);
       setValueCount(size);
     }
 
-    public void reset(){
-      
+    @Override
+    public void reset() {
     }
-    
   }
 }
 </#list>

http://git-wip-us.apache.org/repos/asf/drill/blob/deee06e3/exec/java-exec/src/main/codegen/templates/StringOutputRecordWriter.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/codegen/templates/StringOutputRecordWriter.java 
b/exec/java-exec/src/main/codegen/templates/StringOutputRecordWriter.java
index c175900..6d92a2f 100644
--- a/exec/java-exec/src/main/codegen/templates/StringOutputRecordWriter.java
+++ b/exec/java-exec/src/main/codegen/templates/StringOutputRecordWriter.java
@@ -30,7 +30,6 @@ package org.apache.drill.exec.store;
 import com.google.common.collect.Lists;
 import org.apache.drill.exec.expr.TypeHelper;
 import org.apache.drill.exec.expr.holders.*;
-import org.apache.drill.exec.memory.TopLevelAllocator;
 import org.apache.drill.exec.memory.BufferAllocator;
 import org.apache.drill.exec.record.BatchSchema;
 import org.apache.drill.exec.record.VectorAccessible;
@@ -50,6 +49,8 @@ import java.util.Map;
  * to output the data in string format instead of implementing addField for 
each type holder.
  *
  * This is useful for text format writers such as CSV, TSV etc.
+ *
+ * NB: Source code generated using FreeMarker template ${.template_name}
  */
 public abstract class StringOutputRecordWriter extends AbstractRecordWriter {
 

http://git-wip-us.apache.org/repos/asf/drill/blob/deee06e3/exec/java-exec/src/main/codegen/templates/VariableLengthVectors.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/codegen/templates/VariableLengthVectors.java 
b/exec/java-exec/src/main/codegen/templates/VariableLengthVectors.java
index fc08ac6..ac4d539 100644
--- a/exec/java-exec/src/main/codegen/templates/VariableLengthVectors.java
+++ b/exec/java-exec/src/main/codegen/templates/VariableLengthVectors.java
@@ -29,7 +29,6 @@ import org.apache.drill.exec.vector.VariableWidthVector;
 
 <#assign friendlyType = (minor.friendlyType!minor.boxedType!type.boxedType) />
 
-
 <#if type.major == "VarLen">
 <@pp.changeOutputFile 
name="/org/apache/drill/exec/vector/${minor.class}Vector.java" />
 
@@ -47,11 +46,10 @@ package org.apache.drill.exec.vector;
  *   The width of each element is ${type.width} byte(s)
  *   The equivalent Java primitive is '${minor.javaType!type.javaType}'
  *
- * Source code generated using FreeMarker template ${.template_name}
+ * NB: this class is automatically generated from ${.template_name} and 
ValueVectorTypes.tdd using FreeMarker.
  */
-@SuppressWarnings("unused")
-public final class ${minor.class}Vector extends BaseDataValueVector implements 
VariableWidthVector{
-  static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(${minor.class}Vector.class);
+public final class ${minor.class}Vector extends BaseDataValueVector implements 
VariableWidthVector {
+  private static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(${minor.class}Vector.class);
 
   private static final int DEFAULT_RECORD_BYTE_COUNT = 8;
   private static final int INITIAL_BYTE_COUNT = 4096 * 
DEFAULT_RECORD_BYTE_COUNT;
@@ -68,7 +66,6 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
 
   private final UInt${type.width}Vector.Accessor oAccessor;
 
-
   private int allocationSizeInBytes = INITIAL_BYTE_COUNT;
   private int allocationMonitor = 0;
 
@@ -81,27 +78,29 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
   }
 
   @Override
-  public FieldReader getReader(){
+  public FieldReader getReader() {
     return reader;
   }
 
-  public int getBufferSize(){
-    if (getAccessor().getValueCount() == 0) return 0;
+  @Override
+  public int getBufferSize() {
+    if (getAccessor().getValueCount() == 0) {
+      return 0;
+    }
     return offsetVector.getBufferSize() + data.writerIndex();
   }
 
-  int getSizeFromCount(int valueCount) {
-    return valueCount * ${type.width};
-  }
-
-  public int getValueCapacity(){
+  @Override
+  public int getValueCapacity() {
     return offsetVector.getValueCapacity() - 1;
   }
 
-  public int getByteCapacity(){
+  @Override
+  public int getByteCapacity() {
     return data.capacity();
   }
 
+  @Override
   public int getCurrentSizeInBytes() {
     return offsetVector.getAccessor().get(getAccessor().getValueCount());
   }
@@ -110,31 +109,34 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
    * Return the number of bytes contained in the current var len byte vector.
    * @return
    */
-  public int getVarByteLength(){
+  public int getVarByteLength() {
     final int valueCount = getAccessor().getValueCount();
-    if(valueCount == 0) return 0;
+    if(valueCount == 0) {
+      return 0;
+    }
     return offsetVector.getAccessor().get(valueCount);
   }
 
   @Override
   public SerializedField getMetadata() {
-    return getMetadataBuilder() //
-             .setValueCount(getAccessor().getValueCount()) //
-             .setVarByteLength(getVarByteLength()) //
-             .setBufferLength(getBufferSize()) //
+    return getMetadataBuilder()
+             .setValueCount(getAccessor().getValueCount())
+             .setVarByteLength(getVarByteLength())
+             .setBufferLength(getBufferSize())
              .build();
   }
 
-  public int load(int dataBytes, int valueCount, DrillBuf buf){
-    if(valueCount == 0){
-      allocateNew(0,0);
+  @Override
+  public int load(int dataBytes, int valueCount, DrillBuf buf) {
+    if(valueCount == 0) {
+      allocateNew(0, 0);
       return 0;
     }
     clear();
-    int loaded = offsetVector.load(valueCount+1, buf);
+    final int loaded = offsetVector.load(valueCount + 1, buf);
     data = buf.slice(loaded, dataBytes - loaded);
-    data.retain();
-    return  dataBytes;
+    data.retain(1);
+    return dataBytes;
   }
 
   @Override
@@ -150,109 +152,115 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     offsetVector.clear();
   }
 
-
   @Override
   public DrillBuf[] getBuffers(boolean clear) {
-    DrillBuf[] buffers = ObjectArrays.concat(offsetVector.getBuffers(false), 
super.getBuffers(false), DrillBuf.class);
+    final DrillBuf[] buffers = 
ObjectArrays.concat(offsetVector.getBuffers(false), super.getBuffers(false), 
DrillBuf.class);
     if (clear) {
       // does not make much sense but we have to retain buffers even when 
clear is set. refactor this interface.
-      for (DrillBuf buffer:buffers) {
-        buffer.retain();
+      for (final DrillBuf buffer:buffers) {
+        buffer.retain(1);
       }
       clear();
     }
     return buffers;
   }
 
-  public long getOffsetAddr(){
+  public long getOffsetAddr() {
     return offsetVector.getBuffer().memoryAddress();
   }
 
-  public UInt${type.width}Vector getOffsetVector(){
+  public UInt${type.width}Vector getOffsetVector() {
     return offsetVector;
   }
 
-  public TransferPair getTransferPair(){
+  @Override
+  public TransferPair getTransferPair() {
     return new TransferImpl(getField());
   }
+
+  @Override
   public TransferPair getTransferPair(FieldReference ref){
     return new TransferImpl(getField().withPath(ref));
   }
 
+  @Override
   public TransferPair makeTransferPair(ValueVector to) {
     return new TransferImpl((${minor.class}Vector) to);
   }
 
-  public void transferTo(${minor.class}Vector target){
+  public void transferTo(${minor.class}Vector target) {
     target.clear();
     this.offsetVector.transferTo(target.offsetVector);
     target.data = data;
-    target.data.retain();
+    target.data.retain(1);
     clear();
   }
 
   public void splitAndTransferTo(int startIndex, int length, 
${minor.class}Vector target) {
-    int startPoint = this.offsetVector.getAccessor().get(startIndex);
-    int sliceLength = this.offsetVector.getAccessor().get(startIndex + length) 
- startPoint;
-    target.offsetVector.clear();
+    UInt${type.width}Vector.Accessor offsetVectorAccessor = 
this.offsetVector.getAccessor();
+    final int startPoint = offsetVectorAccessor.get(startIndex);
+    final int sliceLength = offsetVectorAccessor.get(startIndex + length) - 
startPoint;
+    target.clear();
     target.offsetVector.allocateNew(length + 1);
+    offsetVectorAccessor = this.offsetVector.getAccessor();
+    final UInt4Vector.Mutator offsetVectorMutator = 
target.offsetVector.getMutator();
     for (int i = 0; i < length + 1; i++) {
-      target.offsetVector.getMutator().set(i, 
this.offsetVector.getAccessor().get(startIndex + i) - startPoint);
+      offsetVectorMutator.set(i, offsetVectorAccessor.get(startIndex + i) - 
startPoint);
     }
-    target.data = this.data.slice(startPoint, sliceLength);
-    target.data.retain();
+    target.data = data.slice(startPoint, sliceLength);
+    target.data.retain(1);
     target.getMutator().setValueCount(length);
 }
 
-  protected void copyFrom(int fromIndex, int thisIndex, ${minor.class}Vector 
from){
-    int start = from.offsetVector.getAccessor().get(fromIndex);
-    int end =   from.offsetVector.getAccessor().get(fromIndex+1);
-    int len = end - start;
+  protected void copyFrom(int fromIndex, int thisIndex, ${minor.class}Vector 
from) {
+    final UInt4Vector.Accessor fromOffsetVectorAccessor = 
from.offsetVector.getAccessor();
+    final int start = fromOffsetVectorAccessor.get(fromIndex);
+    final int end = fromOffsetVectorAccessor.get(fromIndex + 1);
+    final int len = end - start;
 
-    int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(thisIndex * 
${type.width});
+    final int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(thisIndex * 
${type.width});
     from.data.getBytes(start, data, outputStart, len);
     offsetVector.data.set${(minor.javaType!type.javaType)?cap_first}( 
(thisIndex+1) * ${type.width}, outputStart + len);
   }
 
-  public boolean copyFromSafe(int fromIndex, int thisIndex, 
${minor.class}Vector from){
-
-    int start = from.offsetVector.getAccessor().get(fromIndex);
-    int end =   from.offsetVector.getAccessor().get(fromIndex+1);
-    int len = end - start;
-
-    int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(thisIndex * 
${type.width});
+  public boolean copyFromSafe(int fromIndex, int thisIndex, 
${minor.class}Vector from) {
+    final UInt${type.width}Vector.Accessor fromOffsetVectorAccessor = 
from.offsetVector.getAccessor();
+    final int start = fromOffsetVectorAccessor.get(fromIndex);
+    final int end =   fromOffsetVectorAccessor.get(fromIndex + 1);
+    final int len = end - start;
+    final int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(thisIndex * 
${type.width});
 
     while(data.capacity() < outputStart + len) {
-        reAlloc();
+      reAlloc();
     }
 
     offsetVector.getMutator().setSafe(thisIndex + 1, outputStart + len);
-
     from.data.getBytes(start, data, outputStart, len);
-
     return true;
   }
 
-
-  private class TransferImpl implements TransferPair{
+  private class TransferImpl implements TransferPair {
     ${minor.class}Vector to;
 
-    public TransferImpl(MaterializedField field){
-      this.to = new ${minor.class}Vector(field, allocator);
+    public TransferImpl(MaterializedField field) {
+      to = new ${minor.class}Vector(field, allocator);
     }
 
-    public TransferImpl(${minor.class}Vector to){
+    public TransferImpl(${minor.class}Vector to) {
       this.to = to;
     }
 
-    public ${minor.class}Vector getTo(){
+    @Override
+    public ${minor.class}Vector getTo() {
       return to;
     }
 
-    public void transfer(){
+    @Override
+    public void transfer() {
       transferTo(to);
     }
 
+    @Override
     public void splitAndTransfer(int startIndex, int length) {
       splitAndTransferTo(startIndex, length, to);
     }
@@ -273,8 +281,9 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     offsetVector.setInitialCapacity(valueCount + 1);
   }
 
+  @Override
   public void allocateNew() {
-    if(!allocateNewSafe()){
+    if(!allocateNewSafe()) {
       throw new OutOfMemoryRuntimeException("Failure while allocating 
buffer.");
     }
   }
@@ -301,7 +310,7 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
      * clear all the memory that we allocated
      */
     try {
-      final int requestedSize = (int)curAllocationSize;
+      final int requestedSize = (int) curAllocationSize;
       data = allocator.buffer(requestedSize);
       offsetVector.allocateNew();
     } catch (OutOfMemoryRuntimeException e) {
@@ -313,6 +322,7 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     return true;
   }
 
+  @Override
   public void allocateNew(int totalBytes, int valueCount) {
     clear();
     assert totalBytes >= 0;
@@ -352,42 +362,45 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     ++allocationMonitor;
   }
 
-  public Accessor getAccessor(){
+  @Override
+  public Accessor getAccessor() {
     return accessor;
   }
 
+  @Override
   public Mutator getMutator() {
     return mutator;
   }
 
   public final class Accessor extends BaseValueVector.BaseAccessor implements 
VariableWidthAccessor {
     final UInt${type.width}Vector.Accessor oAccessor = 
offsetVector.getAccessor();
-
-    public long getStartEnd(int index){
+    public long getStartEnd(int index) {
       return oAccessor.getTwoAsLong(index);
     }
 
     public byte[] get(int index) {
       assert index >= 0;
-      int startIdx = oAccessor.get(index);
-      int length = oAccessor.get(index + 1) - startIdx;
+      final int startIdx = oAccessor.get(index);
+      final int length = oAccessor.get(index + 1) - startIdx;
       assert length >= 0;
-      byte[] dst = new byte[length];
+      final byte[] dst = new byte[length];
       data.getBytes(startIdx, dst, 0, length);
       return dst;
     }
 
+    @Override
     public int getValueLength(int index) {
-      return offsetVector.getAccessor().get(index + 1) - 
offsetVector.getAccessor().get(index);
+      final UInt${type.width}Vector.Accessor offsetVectorAccessor = 
offsetVector.getAccessor();
+      return offsetVectorAccessor.get(index + 1) - 
offsetVectorAccessor.get(index);
     }
 
-    public void get(int index, ${minor.class}Holder holder){
+    public void get(int index, ${minor.class}Holder holder) {
       holder.start = oAccessor.get(index);
       holder.end = oAccessor.get(index + 1);
       holder.buffer = data;
     }
 
-    public void get(int index, Nullable${minor.class}Holder holder){
+    public void get(int index, Nullable${minor.class}Holder holder) {
       holder.isSet = 1;
       holder.start = oAccessor.get(index);
       holder.end = oAccessor.get(index + 1);
@@ -397,6 +410,7 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
 
     <#switch minor.class>
     <#case "VarChar">
+    @Override
     public ${friendlyType} getObject(int index) {
       Text text = new Text();
       text.set(get(index));
@@ -404,28 +418,29 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     }
     <#break>
     <#case "Var16Char">
+    @Override
     public ${friendlyType} getObject(int index) {
       return new String(get(index), Charsets.UTF_16);
     }
     <#break>
     <#default>
+    @Override
     public ${friendlyType} getObject(int index) {
       return get(index);
     }
-
     </#switch>
 
-
-
+    @Override
     public int getValueCount() {
       return Math.max(offsetVector.getAccessor().getValueCount()-1, 0);
     }
 
-    public boolean isNull(int index){
+    @Override
+    public boolean isNull(int index) {
       return false;
     }
 
-    public UInt${type.width}Vector getOffsetVector(){
+    public UInt${type.width}Vector getOffsetVector() {
       return offsetVector;
     }
   }
@@ -450,7 +465,7 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
      */
     protected void set(int index, byte[] bytes) {
       assert index >= 0;
-      int currentOffset = offsetVector.getAccessor().get(index);
+      final int currentOffset = offsetVector.getAccessor().get(index);
       offsetVector.getMutator().set(index + 1, currentOffset + bytes.length);
       data.setBytes(currentOffset, bytes, 0, bytes.length);
     }
@@ -458,12 +473,11 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     public void setSafe(int index, byte[] bytes) {
       assert index >= 0;
 
-      int currentOffset = offsetVector.getAccessor().get(index);
-      while (data.capacity() < currentOffset + bytes.length) {
+      final int currentOffset = offsetVector.getAccessor().get(index);
+      while(data.capacity() < currentOffset + bytes.length) {
         reAlloc();
       }
       offsetVector.getMutator().setSafe(index + 1, currentOffset + 
bytes.length);
-      offsetVector.getMutator().set(index + 1, currentOffset + bytes.length);
       data.setBytes(currentOffset, bytes, 0, bytes.length);
     }
 
@@ -477,7 +491,7 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
      */
     protected void set(int index, byte[] bytes, int start, int length) {
       assert index >= 0;
-      int currentOffset = offsetVector.getAccessor().get(index);
+      final int currentOffset = offsetVector.getAccessor().get(index);
       offsetVector.getMutator().set(index + 1, currentOffset + length);
       data.setBytes(currentOffset, bytes, start, length);
     }
@@ -497,7 +511,7 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     public void setSafe(int index, byte[] bytes, int start, int length) {
       assert index >= 0;
 
-      int currentOffset = offsetVector.getAccessor().get(index);
+      final int currentOffset = offsetVector.getAccessor().get(index);
 
       while (data.capacity() < currentOffset + length) {
         reAlloc();
@@ -506,8 +520,9 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
       data.setBytes(currentOffset, bytes, start, length);
     }
 
+    @Override
     public void setValueLengthSafe(int index, int length) {
-      int offset = offsetVector.getAccessor().get(index);
+      final int offset = offsetVector.getAccessor().get(index);
       while(data.capacity() < offset + length ) {
         reAlloc();
       }
@@ -515,10 +530,9 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     }
 
 
-    public void setSafe(int index, int start, int end, DrillBuf buffer){
-      int len = end - start;
-
-      int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(index * 
${type.width});
+    public void setSafe(int index, int start, int end, DrillBuf buffer) {
+      final int len = end - start;
+      final int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(index * 
${type.width});
 
       while(data.capacity() < outputStart + len) {
         reAlloc();
@@ -528,13 +542,12 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
       buffer.getBytes(start, data, outputStart, len);
     }
 
-
-    public void setSafe(int index, Nullable${minor.class}Holder holder){
+    public void setSafe(int index, Nullable${minor.class}Holder holder) {
       assert holder.isSet == 1;
 
-      int start = holder.start;
-      int end =   holder.end;
-      int len = end - start;
+      final int start = holder.start;
+      final int end =   holder.end;
+      final int len = end - start;
 
       int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(index * 
${type.width});
 
@@ -546,13 +559,11 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
       offsetVector.getMutator().setSafe( index+1,  outputStart + len);
     }
 
-    public void setSafe(int index, ${minor.class}Holder holder){
-
-      int start = holder.start;
-      int end =   holder.end;
-      int len = end - start;
-
-      int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(index * 
${type.width});
+    public void setSafe(int index, ${minor.class}Holder holder) {
+      final int start = holder.start;
+      final int end =   holder.end;
+      final int len = end - start;
+      final int outputStart = 
offsetVector.data.get${(minor.javaType!type.javaType)?cap_first}(index * 
${type.width});
 
       while(data.capacity() < outputStart + len) {
         reAlloc();
@@ -562,31 +573,32 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
       offsetVector.getMutator().setSafe( index+1,  outputStart + len);
     }
 
-    protected void set(int index, int start, int length, DrillBuf buffer){
+    protected void set(int index, int start, int length, DrillBuf buffer) {
       assert index >= 0;
-      int currentOffset = offsetVector.getAccessor().get(index);
+      final int currentOffset = offsetVector.getAccessor().get(index);
       offsetVector.getMutator().set(index + 1, currentOffset + length);
-      DrillBuf bb = buffer.slice(start, length);
+      final DrillBuf bb = buffer.slice(start, length);
       data.setBytes(currentOffset, bb);
     }
 
-    protected void set(int index, Nullable${minor.class}Holder holder){
-      int length = holder.end - holder.start;
-      int currentOffset = offsetVector.getAccessor().get(index);
+    protected void set(int index, Nullable${minor.class}Holder holder) {
+      final int length = holder.end - holder.start;
+      final int currentOffset = offsetVector.getAccessor().get(index);
       offsetVector.getMutator().set(index + 1, currentOffset + length);
       data.setBytes(currentOffset, holder.buffer, holder.start, length);
     }
 
-    protected void set(int index, ${minor.class}Holder holder){
-      int length = holder.end - holder.start;
-      int currentOffset = offsetVector.getAccessor().get(index);
+    protected void set(int index, ${minor.class}Holder holder) {
+      final int length = holder.end - holder.start;
+      final int currentOffset = offsetVector.getAccessor().get(index);
       offsetVector.getMutator().set(index + 1, currentOffset + length);
       data.setBytes(currentOffset, holder.buffer, holder.start, length);
     }
 
+    @Override
     public void setValueCount(int valueCount) {
-      int currentByteCapacity = getByteCapacity();
-      int idx = offsetVector.getAccessor().get(valueCount);
+      final int currentByteCapacity = getByteCapacity();
+      final int idx = offsetVector.getAccessor().get(valueCount);
       data.writerIndex(idx);
       if (valueCount > 0 && currentByteCapacity > idx * 2) {
         incrementAllocationMonitor();
@@ -598,30 +610,26 @@ public final class ${minor.class}Vector extends 
BaseDataValueVector implements V
     }
 
     @Override
-    public void generateTestData(int size){
+    public void generateTestData(int size) {
       boolean even = true;
       <#switch minor.class>
       <#case "Var16Char">
-      java.nio.charset.Charset charset = Charsets.UTF_16;
+      final java.nio.charset.Charset charset = Charsets.UTF_16;
       <#break>
       <#case "VarChar">
       <#default>
-      java.nio.charset.Charset charset = Charsets.UTF_8;
+      final java.nio.charset.Charset charset = Charsets.UTF_8;
       </#switch>
-      for(int i =0; i < size; i++, even = !even){
-        if(even){
-          set(i, new String("aaaaa").getBytes(charset));
-        }else{
-          set(i, new String("bbbbbbbbbb").getBytes(charset));
-        }
+      final byte[] evenValue = new String("aaaaa").getBytes(charset);
+      final byte[] oddValue = new String("bbbbbbbbbb").getBytes(charset);
+      for(int i =0; i < size; i++, even = !even) {
+        set(i, even ? evenValue : oddValue);
       }
       setValueCount(size);
     }
   }
-
 }
 
-
 </#if> <#-- type.major -->
 </#list>
 </#list>

http://git-wip-us.apache.org/repos/asf/drill/blob/deee06e3/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BaseDataValueVector.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BaseDataValueVector.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BaseDataValueVector.java
index 579eed6..42e0972 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BaseDataValueVector.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BaseDataValueVector.java
@@ -24,21 +24,35 @@ import org.apache.drill.exec.record.MaterializedField;
 
 public abstract class BaseDataValueVector extends BaseValueVector {
 
+  protected final static byte[] emptyByteArray = new byte[]{}; // Nullable 
vectors use this
+
   protected DrillBuf data;
 
   public BaseDataValueVector(MaterializedField field, BufferAllocator 
allocator) {
     super(field, allocator);
-    this.data = allocator.getEmpty();
+    data = allocator.getEmpty();
   }
 
   @Override
   public void clear() {
-    data.release();
+    if (data != null) {
+      data.release();
+    }
     data = allocator.getEmpty();
     super.clear();
   }
 
   @Override
+  public void close() {
+    clear();
+    if (data != null) {
+      data.release();
+      data = null;
+    }
+    super.close();
+  }
+
+  @Override
   public DrillBuf[] getBuffers(boolean clear) {
     DrillBuf[] out;
     if (getBufferSize() == 0) {
@@ -47,7 +61,7 @@ public abstract class BaseDataValueVector extends 
BaseValueVector {
       out = new DrillBuf[]{data};
       if (clear) {
         data.readerIndex(0);
-        data.retain();
+        data.retain(1);
       }
     }
     if (clear) {
@@ -56,6 +70,7 @@ public abstract class BaseDataValueVector extends 
BaseValueVector {
     return out;
   }
 
+  @Override
   public int getBufferSize() {
     if (getAccessor().getValueCount() == 0) {
       return 0;

http://git-wip-us.apache.org/repos/asf/drill/blob/deee06e3/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/ComplexWriterImpl.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/ComplexWriterImpl.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/ComplexWriterImpl.java
index a4a35e2..88a56f8 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/ComplexWriterImpl.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/ComplexWriterImpl.java
@@ -29,12 +29,12 @@ import 
org.apache.drill.exec.vector.complex.writer.BaseWriter.ComplexWriter;
 
 import com.google.common.base.Preconditions;
 
-public class ComplexWriterImpl extends AbstractFieldWriter implements 
ComplexWriter{
-  static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(ComplexWriterImpl.class);
+public class ComplexWriterImpl extends AbstractFieldWriter implements 
ComplexWriter {
+//  private static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(ComplexWriterImpl.class);
 
-  SingleMapWriter mapRoot;
-  SingleListWriter listRoot;
-  MapVector container;
+  private SingleMapWriter mapRoot;
+  private SingleListWriter listRoot;
+  private final MapVector container;
 
   Mode mode = Mode.INIT;
   private final String name;
@@ -47,6 +47,7 @@ public class ComplexWriterImpl extends AbstractFieldWriter 
implements ComplexWri
     this.container = container;
   }
 
+  @Override
   public MaterializedField getField() {
     return container.getField();
   }
@@ -60,10 +61,21 @@ public class ComplexWriterImpl extends AbstractFieldWriter 
implements ComplexWri
     StateTool.check(mode, modes);
   }
 
+  @Override
   public void reset(){
     setPosition(0);
   }
 
+  @Override
+  public void close() throws Exception {
+    clear();
+    mapRoot.close();
+    if (listRoot != null) {
+      listRoot.close();
+    }
+  }
+
+  @Override
   public void clear(){
     switch(mode){
     case MAP:
@@ -75,6 +87,7 @@ public class ComplexWriterImpl extends AbstractFieldWriter 
implements ComplexWri
     }
   }
 
+  @Override
   public void setValueCount(int count){
     switch(mode){
     case MAP:
@@ -146,9 +159,9 @@ public class ComplexWriterImpl extends AbstractFieldWriter 
implements ComplexWri
 
   @Override
   public void allocate() {
-    if(mapRoot != null){
+    if(mapRoot != null) {
       mapRoot.allocate();
-    }else if(listRoot != null){
+    } else if(listRoot != null) {
       listRoot.allocate();
     }
   }
@@ -184,7 +197,7 @@ public class ComplexWriterImpl extends AbstractFieldWriter 
implements ComplexWri
 
     @Override
     public <T extends ValueVector> T addOrGet(String name, MajorType type, 
Class<T> clazz) {
-      ValueVector v = vc.addOrGet(name, type, clazz);
+      final ValueVector v = vc.addOrGet(name, type, clazz);
       putChild(name, v);
       return this.typeify(v, clazz);
 

http://git-wip-us.apache.org/repos/asf/drill/blob/deee06e3/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/VectorContainerWriter.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/VectorContainerWriter.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/VectorContainerWriter.java
index 5aea0ca..95c651f 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/VectorContainerWriter.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/impl/VectorContainerWriter.java
@@ -27,19 +27,20 @@ import org.apache.drill.exec.vector.complex.MapVector;
 import org.apache.drill.exec.vector.complex.writer.BaseWriter.ComplexWriter;
 
 public class VectorContainerWriter extends AbstractFieldWriter implements 
ComplexWriter {
-  static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(VectorContainerWriter.class);
+  //private static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(VectorContainerWriter.class);
 
-  SingleMapWriter mapRoot;
-  SpecialMapVector mapVector;
-  OutputMutator mutator;
+  private final SingleMapWriter mapRoot;
+  private final SpecialMapVector mapVector;
+  private final OutputMutator mutator;
 
   public VectorContainerWriter(OutputMutator mutator) {
     super(null);
     this.mutator = mutator;
-    this.mapVector = new SpecialMapVector(mutator.getCallBack());
-    this.mapRoot = new SingleMapWriter(mapVector, this);
+    mapVector = new SpecialMapVector(mutator.getCallBack());
+    mapRoot = new SingleMapWriter(mapVector, this);
   }
 
+  @Override
   public MaterializedField getField() {
     return mapVector.getField();
   }
@@ -53,10 +54,19 @@ public class VectorContainerWriter extends 
AbstractFieldWriter implements Comple
     return mapVector;
   }
 
+  @Override
   public void reset() {
     setPosition(0);
   }
 
+  @Override
+  public void close() throws Exception {
+    clear();
+    mapRoot.close();
+    mapVector.close();
+  }
+
+  @Override
   public void clear() {
     mapRoot.clear();
   }
@@ -65,6 +75,7 @@ public class VectorContainerWriter extends 
AbstractFieldWriter implements Comple
     return mapRoot;
   }
 
+  @Override
   public void setValueCount(int count) {
     mapRoot.setValueCount(count);
   }
@@ -89,15 +100,13 @@ public class VectorContainerWriter extends 
AbstractFieldWriter implements Comple
     @Override
     public <T extends ValueVector> T addOrGet(String name, MajorType type, 
Class<T> clazz) {
       try {
-        ValueVector v = mutator.addField(MaterializedField.create(name, type), 
clazz);
+        final ValueVector v = mutator.addField(MaterializedField.create(name, 
type), clazz);
         putChild(name, v);
         return this.typeify(v, clazz);
       } catch (SchemaChangeException e) {
         throw new IllegalStateException(e);
       }
-
     }
-
   }
 
   @Override

Reply via email to