diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java
index f45d3af1e851fe4b1ed697c4e4f0ac57a802253b..db7b9d646f2c5bc2c2b1e9e8057178d058fc8a49 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RVector.java
@@ -78,7 +78,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         this(complete, length, dimensions, null);
     }
 
-    private void removeAttributeMapping(String key) {
+    private final void removeAttributeMapping(String key) {
         if (this.attributes != null) {
             this.attributes.remove(key);
             if (this.attributes.size() == 0) {
@@ -87,7 +87,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    private void setMatrixDimensions(int[] newDimensions, int vectorLength) {
+    private final void setMatrixDimensions(int[] newDimensions, int vectorLength) {
         if (newDimensions != null && newDimensions.length == 2) {
             matrixDimension = newDimensions[0];
             // this assertion should not fail (should be signaled as error before getting to this
@@ -142,7 +142,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         return match;
     }
 
-    public RAttributes initAttributes() {
+    public final RAttributes initAttributes() {
         if (attributes == null) {
             attributes = RAttributes.create();
         }
@@ -155,12 +155,12 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
      * @param attribute
      * @param value
      */
-    private void putAttribute(String attribute, Object value) {
+    private final void putAttribute(String attribute, Object value) {
         initAttributes();
         attributes.put(attribute, value);
     }
 
-    public void setAttr(String name, Object value) {
+    public final void setAttr(String name, Object value) {
         if (attributes == null) {
             initAttributes();
         }
@@ -179,14 +179,14 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public Object getAttr(String name) {
+    public final Object getAttr(String name) {
         if (attributes == null) {
             return null;
         }
         return attributes.get(name);
     }
 
-    public void removeAttr(String name) {
+    public final void removeAttr(String name) {
         if (attributes != null) {
             if (name.equals(RRuntime.NAMES_ATTR_KEY)) {
                 setNames(null);
@@ -207,7 +207,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public void setLevels(Object newLevels) {
+    public final void setLevels(Object newLevels) {
         if (attributes != null && newLevels == null) {
             // whether it's one dimensional array or not, assigning null always removes the "Levels"
             // attribute
@@ -221,7 +221,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         setNames(newNames, null);
     }
 
-    public void setNames(Object newNames, SourceSection sourceSection) {
+    public final void setNames(Object newNames, SourceSection sourceSection) {
         if (attributes != null && (newNames == null || newNames == RNull.instance)) {
             // whether it's one dimensional array or not, assigning null always removes the "names"
             // attribute
@@ -249,11 +249,11 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         return dimNames;
     }
 
-    public void setDimNames(RList newDimNames) {
+    public final void setDimNames(RList newDimNames) {
         setDimNames(newDimNames, null);
     }
 
-    public void setDimNames(RList newDimNames, SourceSection sourceSection) {
+    public final void setDimNames(RList newDimNames, SourceSection sourceSection) {
         if (attributes != null && newDimNames == null) {
             removeAttributeMapping(RRuntime.DIMNAMES_ATTR_KEY);
             this.matrixDimension = 0;
@@ -386,7 +386,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public static final RAbstractContainer setClassAttr(RVector vector, RStringVector classAttr, RAbstractContainer enclosingDataFrame) {
+    public static RAbstractContainer setClassAttr(RVector vector, RStringVector classAttr, RAbstractContainer enclosingDataFrame) {
         if (vector.attributes == null && classAttr != null && classAttr.getLength() != 0) {
             vector.initAttributes();
         }
@@ -412,7 +412,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         return vector;
     }
 
-    protected void setAttributes(RVector result) {
+    protected final void setAttributes(RVector result) {
         result.names = this.names;
         result.dimNames = this.dimNames;
         result.dimensions = this.dimensions;
@@ -469,22 +469,22 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
 
     public abstract void transferElementSameType(int toIndex, RVector fromVector, int fromIndex);
 
-    public boolean isInBounds(int firstPosition, int secondPosition) {
+    public final boolean isInBounds(int firstPosition, int secondPosition) {
         assert isMatrix();
         return firstPosition >= 1 && firstPosition <= matrixDimension && (convertToIndex(secondPosition) * matrixDimension + firstPosition) <= getLength();
     }
 
-    public int convertToIndex(int position) {
+    public static int convertToIndex(int position) {
         return position - 1;
     }
 
-    public int convertToIndex(int firstPosition, int secondPosition) {
+    public final int convertToIndex(int firstPosition, int secondPosition) {
         assert isMatrix();
         assert isInBounds(firstPosition, secondPosition);
         return convertToIndex(firstPosition) + convertToIndex(secondPosition) * matrixDimension;
     }
 
-    public void copyAttributesFrom(RAbstractVector vector) {
+    public final void copyAttributesFrom(RAbstractVector vector) {
         // it's meant to be used on a "fresh" vector with only dimensions potentially set
         assert (this.names == null);
         assert (this.dimNames == null);
@@ -499,7 +499,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public void copyNamesDimsDimNamesFrom(RAbstractVector vector, SourceSection sourceSection) {
+    public final void copyNamesDimsDimNamesFrom(RAbstractVector vector, SourceSection sourceSection) {
         // it's meant to be used on a "fresh" vector with only dimensions potentially set
         assert (this.names == null);
         assert (this.dimNames == null);
@@ -511,7 +511,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         this.setDimNames(vector.getDimNames(), sourceSection);
     }
 
-    public boolean copyNamesFrom(RAbstractVector vector) {
+    public final boolean copyNamesFrom(RAbstractVector vector) {
         // it's meant to be used on a "fresh" vector with only dimensions potentially set
         assert (this.names == null);
         assert (this.dimNames == null);
@@ -533,7 +533,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
     }
 
     @SuppressFBWarnings(value = "ES_COMPARING_STRINGS_WITH_EQ", justification = "all three string constants below are supposed to be used as identities")
-    public void copyRegAttributesFrom(RAbstractVector vector) {
+    public final void copyRegAttributesFrom(RAbstractVector vector) {
         RAttributes orgAttributes = vector.getAttributes();
         if (orgAttributes == null) {
             return;
@@ -546,7 +546,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public void resizeWithNames(int size) {
+    public final void resizeWithNames(int size) {
         this.complete = this.complete || this.getLength() <= size;
         resizeInternal(size);
         // reset all atributes other than names;
@@ -557,7 +557,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public void resetDimensions(int[] newDimensions) {
+    public final void resetDimensions(int[] newDimensions) {
         // reset all attributes other than dimensions;
         this.dimensions = newDimensions;
         this.setMatrixDimensions(newDimensions, getLength());
@@ -580,7 +580,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public RAttributes resetAllAttributes(boolean nullify) {
+    public final RAttributes resetAllAttributes(boolean nullify) {
         this.dimensions = null;
         this.matrixDimension = 0;
         this.names = null;
@@ -598,11 +598,11 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
         }
     }
 
-    public boolean isObject() {
+    public final boolean isObject() {
         return this.getClassAttr() != null ? true : false;
     }
 
-    public RStringVector getClassHierarchy() {
+    public final RStringVector getClassHierarchy() {
         if (isObject()) {
             return (RStringVector) this.attributes.get(RRuntime.CLASS_ATTR_KEY);
         }
@@ -613,7 +613,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
 
     // As shape of the vector may change at run-time we need to compute
     // class hierarchy on the fly.
-    protected RStringVector getClassHierarchyHelper(final String[] classHr, final String[] classHrDyn) {
+    protected final RStringVector getClassHierarchyHelper(final String[] classHr, final String[] classHrDyn) {
         if (isMatrix()) {
             classHrDyn[0] = RRuntime.TYPE_MATRIX;
             return RDataFactory.createStringVector(classHrDyn, true);
@@ -626,7 +626,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
     }
 
     @Override
-    public RVector materializeNonSharedVector() {
+    public final RVector materializeNonSharedVector() {
         if (this.isShared()) {
             RVector res = this.copy();
             res.markNonTemporary();
@@ -637,8 +637,7 @@ public abstract class RVector extends RBounded implements RShareable, RAbstractV
     }
 
     @Override
-    public RShareable materializeToShareable() {
+    public final RShareable materializeToShareable() {
         return materialize();
     }
-
 }