code: public static MutableInodeFile create(long blockContainerId, long parentId, String name,
        long creationTimeMs, CreateFileContext context) {
      CreateFilePOptionsOrBuilder options = context.getOptions();
      Preconditions.checkArgument(
          options.getReplicationMax() == Constants.REPLICATION_MAX_INFINITY
          || options.getReplicationMax() >= options.getReplicationMin());
      return new MutableInodeFile(blockContainerId)
          .setBlockSizeBytes(options.getBlockSizeBytes())
          .setCreationTimeMs(creationTimeMs)
          .setName(name)
          .setReplicationDurable(options.getReplicationDurable())
          .setReplicationMax(options.getReplicationMax())
          .setReplicationMin(options.getReplicationMin())
          .setTtl(options.getCommonOptions().getTtl())
          .setTtlAction(options.getCommonOptions().getTtlAction())
          .setParentId(parentId)
          .setLastModificationTimeMs(context.getOperationTimeMs(), true)
          .setOwner(context.getOwner())
          .setGroup(context.getGroup())
          .setMode(context.getMode().toShort())
          .setAcl(context.getAcl())
          .setPersistenceState(context.isPersisted() ? PersistenceState.PERSISTED
              : PersistenceState.NOT_PERSISTED);
    }
docs: Creates an {@link MutableInodeFile}.
  
  @param blockContainerId block container id of this inode
  @param parentId id of the parent of this inode
  @param name name of this inode
  @param creationTimeMs the creation time for this inode
  @param context context to create this file
  @return the {@link MutableInodeFile} representation