Topic/plat 6697

Added vector function [PLAT}-6697 and concrete implementations plus tests 
To clarify, the coding standard rule is that method arguments and local variables should not be declared `final` unless necessary. Instance and static variables (at the class level) should be declared `final` as often as possible, and doing so has important benefits under the Java Memory Model. In addition, a truly immutable class is only created when the class itself is declared `final`.