@Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    return this.resourcesByName.equals(((ResourceVector) o).resourcesByName);
  }
@Test
  public void testEquals() {
    ResourceVector resourceVector = ResourceVector.of(13);
    ResourceVector resourceVectorOther = ResourceVector.of(14);
    Resource resource = Resource.newInstance(13, 13);

    Assert.assertNotEquals(null, resourceVector);
    Assert.assertNotEquals(resourceVectorOther, resourceVector);
    Assert.assertNotEquals(resource, resourceVector);

    ResourceVector resourceVectorOne = ResourceVector.of(1);
    resourceVectorOther.decrement(resourceVectorOne);

    Assert.assertEquals(resourceVectorOther, resourceVector);
  }