code: public boolean addValuePart(String name, int size) throws IOException {
          if (INSTANCE_EXISITS) {
              throw new IOException("A GeneralStroable was already instantiated. You cant further add Value Parts");
          }
          int hash = Arrays.hashCode(name.getBytes());
          int index = valuePartNames.size();
          if (valueHash2Index.containsKey(hash)) {
              logger.error("A valuePart with the name {} already exists", name);
              return false;
          }
          valuePartNames.add(name);
          valueHash2Index.put(hash, index);
          valueIndex2Hash.add(hash);
          valueSizes.add(size);
          valueByteOffsets.add(valueSize);
          valueSize += size;
          return true;
      }
docs: Adds a new ValuePart
  
  @param name
  the name of the key part. With this name you can access this part
  @param size
  the size of the key part in bytes
  @return true if adding the value part was successful
  @throws IOException