code: public boolean addKeyPart(String name, int size) throws IOException {
          if (INSTANCE_EXISITS) {
              throw new IOException("A GeneralStroable was already instantiated. You cant further add Key Parts");
          }
          int hash = Arrays.hashCode(name.getBytes());
          int index = keyPartNames.size();
          if (keyHash2Index.containsKey(hash)) {
              logger.error("A keyPart with the name {} already exists", name);
              return false;
          }
          keyPartNames.add(name);
          keyHash2Index.put(hash, index);
          keyIndex2Hash.add(hash);
          keySizes.add(size);
          keyByteOffsets.add(keySize);
          keySize += size;
          return true;
      }
docs: Adds a new KeyPart
  
  @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 key part was successful
  @throws IOException